有人问我为什么这段代码不能编译:
int main()
{
int a = 0;
int x = 3, y = 2, z = 1;
auto f = [&a,=]() { a = x + y + z; };
f();
}
Run Code Online (Sandbox Code Playgroud)
我已经在Visual Studio 2017和wccbox中检查了gcc HEAD 8.0.0 201708,这是真的,它不能编译.
第一个gcc错误就是:
error: expected identifier before '=' token
Run Code Online (Sandbox Code Playgroud)
与lambda一致,它在抱怨=条款中抱怨.
代码有什么问题?