我正在学习C ++ Qt。现在尝试将lambda函数与connect
:
connect(ui->sbNormal, &QSpinBox::valueChanged, [=] (int x) {});
输出错误:
错误:没有匹配函数来调用'MainWindow :: connect(QSpinBox *&,< unresolved overloaded function type&gt ;, MainWindow :: MainWindow(QWidget *)::< lambda(int)>)' });
我做错了什么?如何指定所需的重载?
答案 0 :(得分:4)
如果有多个重载,您必须手动指定您想要的那个:
connect(ui->sbNormal, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged),
[=] (int x) {});