【发布时间】:2017-04-20 12:38:36
【问题描述】:
我正在尝试为 CStringArray 创建一个复制构造函数。编译代码后,Visual Studio 给了我这个错误:无法访问在类“CObject”中声明的私有成员
在 example.h 我已经声明了变量:
list<CStringArray>EqptListPpiedsOptions;
在example.cpp中
我使用它作为我的复制构造函数:
example::example(const example &data) {
list<CStringArray>::const_iterator itr = data.EqptListPpiedsOptions.begin();
while (itr != data.EqptListPpiedsOptions.end()) {
this->EqptListPpiedsOptions.push_back(*itr);
itr++;
}
}
如何正确使用复制构造函数 CStringArray List ?
我们将不胜感激。
【问题讨论】:
-
@Justin
CStringArray是微软 MFC 的一部分。 -
我认为就该问题提供反馈的人了解 C++,但不了解 MFC。
CStringArray是一种固有 类型的 MFC,而不是用户定义的类型。该类派生自CObject,因此问题不仅在于复制构造函数,还在于赋值运算符,因为.我已经在CArray上探索了相同的问题,如stackoverflow.com/questions/32100432/… 中所述 -
如果可以的话,我建议你根据我自己的证据使用
std::vector<CString>:stackoverflow.com/a/31755729/383779 -
@Mark Ransom。我只是使用 const_iterator 来读取列表中的数据。我没有使用它来修改数据。可以吗?
-
抱歉,我很着急阅读手机上的代码。没毛病,继续。了解有关错误的更多详细信息会有所帮助,它在抱怨哪个成员以及哪一行产生了错误?
标签: c++ visual-c++ mfc