gpt4 book ai didi

c++ - QT : Using lambda in a connect statement - VS2012

转载 作者:搜寻专家 更新时间:2023-10-31 01:06:10 24 4
gpt4 key购买 nike

我正在尝试使用这个语句。我在 VS2012 中使用 QT 5.1

connect(ui.pushButton_next, SIGNAL(clicked()), []{
std::cout << "clicked" << std::endl;
});

我明白了

error C2664: 'QMetaObject::Connection QObject::connect(const QObject *,const char *,const char *,Qt::ConnectionType) const' : cannot convert parameter 3 from 'newAccount::{ctor}::' to 'const char *' 1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

对我可能做错了什么有什么建议吗?

最佳答案

Looking at the documentation ,支持 SIGNAL 和 SLOT 宏的 connect 方法的重载似乎没有接受 Functor 对象 - 这仅受 this overload 支持。它接受一个 PointerToMemberFunction。

您代码的正确语法是:

connect(ui.pushButton_next, &QObject::clicked, []{
std::cout << "clicked" << std::endl;
});

关于c++ - QT : Using lambda in a connect statement - VS2012,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21341767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com