码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-06-06 18:49:19      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:默认   div   不能   技术   auto   疑问   错误   span   lam   

1.问题现场

技术图片

 

 技术图片

 

2.提问与答案  

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

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

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

 

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

标签:默认   div   不能   技术   auto   疑问   错误   span   lam   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!