我试着这样做:
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])'
任何解决方案?
答案 0 :(得分:18)
如果Qt试图对参数进行排队,则意味着连接在线程之间。这不适用于非const引用。
您可以使用reference_wrapper解决此问题,但我强烈建议您重新考虑您的设计。在信号/插槽连接中通过引用传递值不是一个好主意。