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 Object 错误

尝试继承时Qt中的LNK错误?

Qt错误:error: undefined reference to `vtable for 类名'

qt中出现error: C2059: 语法错误:“namespace”未定义等大量错误的问题

Qt中的多重继承