Why lambda returns bool?(为什么 lambda 返回 bool?)
本文介绍了为什么 lambda 返回 bool?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经开始学习 C++11 和 C++14,我有一个问题.为什么 lambda 不返回 23?
I've started learning C++11 and C++14 and i have a question. Why lambda not returns 23?
template<class T>
auto func(T t)
{
return t;
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
auto abc = []()->auto { return func(23); };
qDebug() << abc; // output: true
return a.exec();
}
推荐答案
你需要真正执行 lambda:
You need to actually execute the lambda:
qDebug() << abc();
当前 <<
重载正在将 lambda 的 type 转换为 bool
,并输出.
Currently the <<
overload is converting the type of the lambda to a bool
, and outputting that.
这篇关于为什么 lambda 返回 bool?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:为什么 lambda 返回 bool?
猜你喜欢
- 与 int by int 相比,为什么执行 float by float 矩阵乘法更快? 2021-01-01
- 使用/clr 时出现 LNK2022 错误 2022-01-01
- Stroustrup 的 Simple_window.h 2022-01-01
- 静态初始化顺序失败 2022-01-01
- 如何对自定义类的向量使用std::find()? 2022-11-07
- 从python回调到c++的选项 2022-11-16
- C++ 协变模板 2021-01-01
- 近似搜索的工作原理 2021-01-01
- STL 中有 dereference_iterator 吗? 2022-01-01
- 一起使用 MPI 和 OpenCV 时出现分段错误 2022-01-01