错误: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 朋友类

“错误C2248:'CObject :: CObject':无法访问在类'CObject'中声明的私有成员[重复]

错误 C2248:“klientPracownik::klientPracownik”:无法访问在“klientPracownik”类中声明的私有成员

带有 std::thread 的 MVSE12 中的错误 C2248

qt 环境下mapx组件打包后编译产生c2248和c2512错误