我有一堆定义了Q_OBJECT宏的基类和没有它的派生类:
class Base : public QObject
{
Q_OBJECT
public:
// signals and slots
};
class Derived : public Base
{
// notice no `Q_OBJECT` macro
public:
// signals and slots
};
Run Code Online (Sandbox Code Playgroud)
这工作正常,但根据Qt 文档:
Q_OBJECT 宏必须出现在声明自己的信号和槽或使用 Qt 元对象系统提供的其他服务的类定义的私有部分中。
当Q_OBJECT使用 Qt 元系统的类缺少宏时,有什么方法可以停止编译吗?
PS:我正在使用 MSVC 编译器