【发布时间】:2014-11-07 18:46:54
【问题描述】:
我有一个程序如下:
int main()
{
int val = 4;
auto add = [val](int a)->int{
val += 2;
return a+val;
};
cout << add(3) << endl;
cout << val << endl;
return 0;
}
Xcode 中存在编译错误:无法分配给通过非可变 lambda 中的副本捕获的变量。
我的问题是:如果我们选择使用副本(使用“=”或值名称),不能为这个值分配新值或更改吗?
【问题讨论】: