假设我们有一个类声明如下:
class A {
private:
CWnd wnd;
public:
A(CString) {}
...
};
现在创建一个对象A
:
auto a = A{ CString{} };
编译器报告:
error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject'
该代码有什么问题?
这个问题有一个解决方法:将构造函数的签名更改为A(const CString&)
可以解决问题。但我想知道为什么会报告该错误。