lamda返回值的类型

C++语言 码拜 4年前 (2017-05-01) 753次浏览
bool bTop = [selectItem]()->bool{       if (!selectItem)return false;
if (!selectItem->next())return true;
return false;
};
上述代码,会报错:不存在从lamda[]bool->bool 到 bool 的转换,这是为什么呢?不知有没有人碰到过这个情况
解决方案

10

[…](){…}();

15

说的是你得调用 lambda 才行,否则获取 lambda 本身的类型要用 auto.

15

lambda是匿名函数对象,看作一个函数,要调用才会有返回值

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明lamda返回值的类型
喜欢 (0)
[1034331897@qq.com]
分享 (0)