lambda函数可以返回指针类型吗?

Gut*_*Mac -1 c++ lambda c++11

我在考虑这样的事情:

auto c = []() -> (int*) {int * b; b = new int(); b[0]=2; return b;};
Run Code Online (Sandbox Code Playgroud)

很抱歉,如果cuestion非常愚蠢,但我不确定为什么会产生编译错误:

main.cpp:3:18: error: expected type-specifier before '(' token
 auto c = []() -> (int*) {int * b; b = new int(); b[0]=2; return b;};
Run Code Online (Sandbox Code Playgroud)

lis*_*rus 5

删除周围的括号int*.你没有声明变量(int*) p,所以为什么在返回类型中括号?

这正确编译:

auto c = []()->int* {int * b; b = new int(); b[0]=2; return b;};
Run Code Online (Sandbox Code Playgroud)