我有下面的類一個小問題:C++:有關對象
class aClass {
public:
aClass():a(0){}
void print(){cout<<a<<endl;}
private:
int a;
};
在main()函數我意外地創建一個對象是這樣的:
aClass obj();
我以爲編譯器將引發錯誤,因爲它期望調用默認的拷貝構造函數,但是在bracket()中沒有參數。有趣的是,根本沒有錯誤。所以我嘗試通過調用訪問成員函數:
obj.print();
現在拋出這個錯誤:
request for member 'print' in 'obj', which is of non-class type 'aClass()'
有人可以解釋給我聽?什麼是obj()已創建?
函數聲明怎麼可能放在main()中? –
@TuBui:因爲語言允許你這樣做。我已經添加了更多關於它的功能的更多細節。 –