У меня есть следующий класс:C++: небольшой вопрос об объекте
class aClass {
public:
aClass():a(0){}
void print(){cout<<a<<endl;}
private:
int a;
};
В основной функции() Я случайно создать объект так:
aClass obj();
Я думал, что компилятор будет бросаться как ожидается, вызовет конструктор копии по умолчанию, но внутри скобки() нет аргумента. Интересно, что ошибки вообще нет. Поэтому я стараюсь, чтобы получить доступ к функции-члена по телефону:
obj.print();
Теперь он бросает эту ошибку:
request for member 'print' in 'obj', which is of non-class type 'aClass()'
Может кто-нибудь объяснить мне это? Что такое obj(), что было создано?
насколько возможно может быть объявлена функция main()? –
@TuBui: Потому что язык позволяет это сделать. Я добавил несколько подробностей о том, что именно он делает. –