我试过这样做:
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来解决这个问题,但我强烈建议您重新考虑您的设计。在信号/槽连接中通过引用传递值不是一个好主意。