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