Возможный дубликат:
конструктор по умолчанию с пустыми скобками
Создать экземпляр класса с круглыми скобками или без них?
Программа:
class Foo
{
public:
Foo ( int bar = 1 )
{
cout << "bar=" << bar;
}
};
int main() {
cout << "0 - ";
Foo foo_0 ( 0 ) ;
cout << '\n';
cout << "1 - ";
Foo foo_1 ();
cout << '\n';
cout << "2 - ";
Foo foo_4;
cout << '\n';
return 0;
}
Выход:
0 - bar=0
1 -
2 - bar=1
Вопрос: почему пример №1 не работает, а примеры №0 и №2 работают?