构造对象的问题
class AA
{
public:
virtual void funAA(){}
AA(int num){}
AA(){}
void output()
{
cout<<"aaaa"<<endl;
}
};
可以使用 AA aa(2),AA aa = AA(2),AA aa = AA()构造对象,为什么不能使用AA aa()构造对象呢? C++,构造对象
[解决办法]
没有参数的构造函数不能加括号,必须直接写AA aa;
在语言标准中,AA aa()这种写法用于声明一个返回值为AA的函数aa,而非定义一个AA类型的变量aa
[解决办法]