【发布时间】:2014-09-17 12:39:24
【问题描述】:
Here 我们可以读到没有复制构造和复制赋值运算符可评估。但是here 我们可以读到qRegisterMetaType 和Q_DECLARE_METATYPE 必须具有公共默认构造函数、公共复制构造函数和公共析构函数。问题是:谁在说谎?还是我没有正确理解?
【问题讨论】:
-
当您需要将基于
QObject的类注册为元类型时,您能提供任何情况吗?文档没问题。 -
您不需要使用 qRegisterMetaType 注册 QObject 或其子类。
-
qRegisterMetaType注册用户定义的类型,而不是从 QObject 派生的类型 -
@RafalMielniczuk,但为什么我的班级必须有复制构造函数才能像 QObject 一样工作?我的意思是存储在 QVariant 中。有什么原因吗?
标签: c++ qt copy-constructor moc copy-assignment