从 lambda 返回值与声明位于同一行

Ole*_*exy 4 c++ lambda declaration function c++11

有时用函数表示值更容易,而 lambda 很适合这样做。但是有没有办法从 lambda 声明中返回值呢?

例如:

int i = []{return 2;};
Run Code Online (Sandbox Code Playgroud)

产生错误。如何使 lambda 声明返回2而不添加任何新代码行?

JeJ*_*eJo 5

与使用调用调用任何函数一样operator(),您需要调用 lambda。

int i = []{return 2;}();
//                   ^^
Run Code Online (Sandbox Code Playgroud)