Здравствуйте,
Подскажите, как понять такую форму записи:
class A{
public:
A():val(78){printf("A()\n");}
private:
int val;
};
int main()
{
A a();
return 0;
}
Почему конструктор не вызывается? И если можно, подскажите, где в стандарте описывается такая форма объявления переменной пользовательского типа.
компилятор — gcc 4.6.3, OS Linux.
Здравствуйте, cse, Вы писали:
cse>cse> A a();
cse>
cse>Почему конструктор не вызывается?
Потому что это — обявление функции, такое же, как
int f();
Убери скобки, и будет тебе счастье.