qt 错误 多继承 造成错误:error C2039: “qt_metacall“: 不是 “xxxxxx“ 的成员
Posted Fu_Lin_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt 错误 多继承 造成错误:error C2039: “qt_metacall“: 不是 “xxxxxx“ 的成员相关的知识,希望对你有一定的参考价值。
今天用Qt使用多继承发现报如下错误:
error C2039: "qt_metacall": 不是 "xxxxxx" 的成员
原格式
class TCPCommunication : public TcpBaseMethod,public QObject
其中TcpBaseMethod
就是一个普通的自定义类,没有继承任何东东,QObject
是Qt得类,后面发现需要更改继承
的顺序,错误就解决了
更改后
class TCPCommunication : public QObject, public TcpBaseMethod
导致错误的原因可能是继承QObject
并加入Q_OBJECT
宏的时候,QT环境下在编译的时候会以第一个继承
的对象(模板?)来生成对应的moc文件
,如果带有Q_OBJECT
宏,必须把QObject
放在第一个继承的位置
以上是关于qt 错误 多继承 造成错误:error C2039: “qt_metacall“: 不是 “xxxxxx“ 的成员的主要内容,如果未能解决你的问题,请参考以下文章
qt 错误 多继承 造成错误 “qt_metacast”: 不是“****”的成员
Qt错误:error: undefined reference to `vtable for 类名'