无法正确调用`connect`

时间:2016-03-28 19:42:37

标签: c++ qt lambda

我正在学习C ++ Qt。现在尝试将lambda函数与connect

一起使用
connect(ui->sbNormal, &QSpinBox::valueChanged, [=] (int x) {});

输出错误:

  

错误:没有匹配函数来调用'MainWindow :: connect(QSpinBox *&,< unresolved overloaded function type&gt ;, MainWindow :: MainWindow(QWidget *)::< lambda(int)>)' });

我做错了什么?如何指定所需的重载?

1 个答案:

答案 0 :(得分:4)

如果有多个重载,您必须手动指定您想要的那个:

connect(ui->sbNormal, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged),
        [=] (int x) {});