【发布时间】:2013-06-09 14:54:01
【问题描述】:
我尝试过这样做:
connect(this, SIGNAL(signalClicked(int&)), classA, SLOT(doWork(int&)));
但我得到了标题中的信息。 所以我探索了互联网,我想出了这个也不起作用的解决方案:
qRegisterMetaType<int&>("Type");
connect(this, SIGNAL(signalClicked(Type)), classA, SLOT(doWork(Type)));
错误:没有匹配函数调用‘qRegisterMetaType(const char[5])’
有什么解决办法吗?
【问题讨论】:
-
你
#include <QMetaType>吗? -
是的,我知道,这就是为什么我不明白...
-
感谢您的回答,但我已经在qtforum.org/article/36440/… 找到了此解决方案,但不幸的是它仍然无法正常工作。
-
你的
Q_DECLARE_METATYPE呢? -
根据 qRegisterMetaType 的 Qt 文档“可以注册具有公共默认构造函数、公共复制构造函数和公共析构函数的任何类或结构。”,这表明它仅适用于类和结构。有人可以在这里纠正我,但我认为您不需要注册类型 int&。