使用默认构造函数参数调用构造函数时,不会构造对象。
class cl{
private:
public:
cl(){cout << "Default used" << endl;};
cl(const cl & cl_object) {cout << "Copy used" << endl;};
cl & operator=(const cl & cl_object){cout << "Assignment used" << endl; return *this;};
};
当我写:
cl(cl());
没有消息显示。
问题: 1)为什么没有构造对象? 2)为什么不使用复制构造函数?
答案 0 :(得分:1)
最令人烦恼的解析
cl(cl());
被解析为函数声明。