考虑这个例子:
int main()
{
int a = 100;
std::cout<<[=,&a](int a,int b){return a+b;}(99,1);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出101不是我期望的100.
我不能指定,[&a,=]因为它给出了错误.
如何避免名称隐藏并引用参数.我知道更改名称是选项,但我很好奇.也参考标准会有所帮助
编辑:我正在使用gcc 4.7.1
编辑:
这是显示演示的ideone链接.我用C++编译器4.7.2那里
ideone