class CHIProjectData : public QObject
{
public:
CHIProjectData();
CHIProjectData(QMap<QString,QString> aProjectData,
CHIAkmMetaData* apAkmMetaData = 0,
QObject* parent = 0);
private:
QMap <QString,QString> m_strProjectData;
CHIAkmMetaData* m_pAkmMetaData;
};
CHIProjectData::CHIProjectData(QMap<QString,QString> aProjectData,
CHIAkmMetaData* apAkmMetaData,
QObject* aParent)
:
QObject(aParent)
{
m_strProjectData = aProjectData;
m_pAkmMetaData = apAkmMetaData;
}
为什么会出现“'QObject::QObject' cannot access private member declaration in class 'QObject'”错误?
最佳答案
我猜你的 CHIProjectData
类正在被复制到某个地方(使用编译器生成的复制构造函数或赋值运算符)。 QObject
不能被复制或赋值给,这样会导致错误。但是,编译器没有指向错误的行,因此它选择文件中的某些行(最后一个大括号很常见,因为这是编译器在解析类声明后知道是否应该生成这些函数的时候看看它们是否已经存在)。
关于c++ - 'QObject::QObject' 无法访问在类 'QObject' 中声明的私有(private)成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3507530/