Здравствуйте, IT, Вы писали:
IT>А так?
void level3()
{
log.log("level 3!");
}
void level2()
{
level3();
}
void level1()
{
level2();
}
logger log;
int main(logger pLog)
{
log = pLog;
level1();
}
Так не скомпилируется, у функции main параметрами могут быть только (int argc, char ** argv)
logger log;
void level3()
{
log.log("level 3!");
}
void level2()
{
level3();
}
void level1()
{
level2();
}
int main( pLog)
{
logger log;
log.initialize(bla-bla-bla);
level1(log);
}
Тоже не будет работать. level1, level2, level3 будут в разных единицах компиляции и иметь общую глобальную переменную им не светит.