已解决
lambda表达式捕获列表---值捕获的方式(In lambda function: assignment of read-only variable)
来自网友在路上 161861提问 提问时间:2023-09-20 16:10:53阅读次数: 61
最佳答案 问答题库618位专家为你答疑解惑
对于lambda表达式以“值”方式捕获的变量,该变量的值默认是被追加了const的,不允许被修改。
因此,如果在lambda表达式中如果想对捕获列表中的变量进行修改,建议采用“引用”/"指针"的方式。
#include <functional>
#include <iostream>int main()
{int a = 1;auto func = [a](){a = 10;printf("lambda function. a=%d\n", a);};++a;printf("main function. a=%d\n", a);func();return 0;
}
编译结果:
lambda.cpp: In lambda function:
lambda.cpp:9:11: error: assignment of read-only variable ‘a’9 | a = 10;| ~~^~~~
查看全文
99%的人还看了
相似问题
- MeterSphere | 接口测试请求体中,int类型的入参实现动态化变量
- 【Vue】Node.js的安装与环境变量的配置
- C#中抽象类、抽象方法和接口暨内联临时变量的精彩表达
- ODBC配置数据源及相关问题(“找不到工程和库”“实时错误91对象变量或with块变量未设置”等)
- OpenLayers实战,WebGL图层根据Feature要素的变量动态渲染多种颜色的三角形,适用于大量三角形渲染不同颜色
- 全网最全jmeter接口测试/接口自动化测试看这篇文章就够了:跨线程组传递jmeter变量及cookie的处理
- Go——二、变量和数据类型
- 华为云cce中环境变量的使用
- Kotlin学习——hello kotlin 函数function 变量 类 + 泛型 + 继承
- ⑩⑤【DB】详解MySQL存储过程:变量、游标、存储函数、循环,判断语句、参数传递..
猜你感兴趣
版权申明
本文"lambda表达式捕获列表---值捕获的方式(In lambda function: assignment of read-only variable)":http://eshow365.cn/6-10068-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!