【发布时间】:2016-03-28 19:42:36
【问题描述】:
我正在学习 C++ Qt。现在尝试将 lambda 函数与 connect 一起使用:
connect(ui->sbNormal, &QSpinBox::valueChanged, [=] (int x) {});
输出错误:
错误:没有匹配的函数调用'MainWindow::connect(QSpinBox*&, , MainWindow::MainWindow(QWidget*)::
)'});
我做错了什么?如何指定需要的重载?
【问题讨论】:
-
你试图调用的函数的签名是什么?我猜它需要一个函数指针?
-
void valueChanged(int)和void valueChanged(const QString &)。我需要先打电话 -
我的意思是
connect函数 -
我不知道...它有很多重载。但是这个变体有效:
connect(sender, &Sender::valueChanged, [=](const QString &newValue) { receiver->updateValue("senderValue", newValue); } );我从 Qt 文档中得到它。