首页 > 其他 > 详细

lambda表达式捕捉使用=报错问题

时间:2020-06-06 18:08:54      阅读:50      评论:0      收藏:0      [点我收藏+]

1.问题现场

技术分享图片

 

 技术分享图片

 

2.提问与答案  

当[]为=时,报上述错误,而改为&时则OK.现在有个疑问,不是说用=是值传递的方式,为何n是一个不可修改的左值呢?

= 默认是 const 不能修改的,需要加上mutable可以让n能够在函数体中发生改变,但main函数中n仍然还是0.因为mutable只是保证可以修改函数里的n,但本质还是值传递.

auto f2 =[=](int x) mutable {}

 

lambda表达式捕捉使用=报错问题

原文:https://www.cnblogs.com/Stephen-Qin/p/13055524.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!