我试着这样做:
connect(this, SIGNAL(signalClicked(int&)), classA, SLOT(doWork(int&)));
Run Code Online (Sandbox Code Playgroud)
但我在标题中得到了消息.所以我已经探索了互联网,我想出了这个不起作用的解决方案:
qRegisterMetaType<int&>("Type");
connect(this, SIGNAL(signalClicked(Type)), classA, SLOT(doWork(Type)));
Run Code Online (Sandbox Code Playgroud)
(错误:没有用于调用'qRegisterMetaType(const char [5])'的匹配函数)
有解决方案吗 谢谢你的帮助.
Dan*_*urn 21
如果Qt试图对参数进行排队,则意味着连接在线程之间.这不适用于非const引用.
您可以使用reference_wrapper解决此问题,但我强烈建议您重新考虑您的设计.在信号/插槽连接中通过引用传递值不是一个好主意.