我正在学习 C++ Qt。现在尝试将 lambda 函数与 connect
一起使用:
connect(ui->sbNormal, &QSpinBox::valueChanged, [=] (int x) {});
输出错误:
error: no matching function for call to 'MainWindow::connect(QSpinBox*&, < unresolved overloaded function type>, MainWindow::MainWindow(QWidget*)::< lambda(int)>)'});
我做错了什么?如何指定需要的重载?
最佳答案
如果有多个重载,您必须手动指定您想要的重载:
connect(ui->sbNormal, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged),
[=] (int x) {});
关于c++ - 无法正确调用 `connect`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36269842/