1.问题现场
2.提问与答案
当[]为=时,报上述错误,而改为&时则OK.现在有个疑问,不是说用=是值传递的方式,为何n是一个不可修改的左值呢?
= 默认是 const 不能修改的,需要加上mutable可以让n能够在函数体中发生改变,但main函数中n仍然还是0.因为mutable只是保证可以修改函数里的n,但本质还是值传递.
auto f2 =[=](int x) mutable {}