错误:C2248:“QVariant::QVariant”:无法访问在“QVariant”类中声明的私有成员
Posted
技术标签:
【中文标题】错误:C2248:“QVariant::QVariant”:无法访问在“QVariant”类中声明的私有成员【英文标题】:error: C2248: 'QVariant::QVariant' : cannot access private member declared in class 'QVariant' 【发布时间】:2016-02-15 03:13:49 【问题描述】:我在以下行收到意外错误:
MyClass * myObject = new MyClass;
view.rootContext()->setContextProperty("myObject", myObject);
有错误:
error: C2248: 'QVariant::QVariant' : cannot access private member declared in class 'QVariant'
但MyClass
只是我编写的一个类,它对QVariant
类没有特别的作用。
【问题讨论】:
【参考方案1】:问题是我忘了从QObject
派生MyClass
。它需要派生并在其中定义Q_OBJECT
宏,就像任何QObject
派生类一样。
【讨论】:
或者,使用正确的方法(工厂建设者):QVariant::fromValue(...)
以上是关于错误:C2248:“QVariant::QVariant”:无法访问在“QVariant”类中声明的私有成员的主要内容,如果未能解决你的问题,请参考以下文章
错误:C2248:“QVariant::QVariant”:无法访问在“QVariant”类中声明的私有成员
“错误C2248:'CObject :: CObject':无法访问在类'CObject'中声明的私有成员[重复]
错误 C2248:“klientPracownik::klientPracownik”:无法访问在“klientPracownik”类中声明的私有成员