【Qt】之【Get√】【Bug】通过值捕获(或 const 引用捕获)传进 lambda,会默认复制成 const

通过值捕获(或 const 引用捕获)传进 lambda,会默认复制成 const。

背景

匿名函数外部定义 QSet<QString> nameSet,需要传入匿名函数使用修改

c++ 复制代码
connect(dlg, ..., [nameSet](...) {
    nameSet.insert(name); // ❌ 这里其实是 const QSet<QString>
});

所以报错:

复制代码
XXX.cpp:604:33: No matching member function for call to 'insert'
qset.h:155:21: candidate function not viable: 'this' argument has type 'const QSet<QString>', but method is not marked const
qset.h:157:21: candidate function not viable: 'this' argument has type 'const QSet<QString>', but method is not marked const
qset.h:179:14: candidate function not viable: requires 2 arguments, but 1 was provided

解决:

使用引用&捕获

c++ 复制代码
connect(dlg, ..., [&nameSet](...) {
    
});
相关推荐
q***51892 分钟前
离线安装 Nginx
运维·数据库·nginx
R.lin21 分钟前
memcached 的核心工作机制、优缺点、适用场景以及常见问题的处理方式
数据库·缓存·memcached
醉风塘32 分钟前
MongoDB Docker 镜像制作与部署指南
数据库·mongodb·docker
羑悻的小杀马特34 分钟前
openGauss 应用开发测评(PostgreSQL 接入方式)
数据库·postgresql·opengauss
Alex艾力的IT数字空间1 小时前
完整事务性能瓶颈分析案例:支付系统事务雪崩优化
开发语言·数据结构·数据库·分布式·算法·中间件·php
wangchen_02 小时前
MySQL复合查询
数据库·mysql
hygge9992 小时前
MySQL 全体系深度解析(存储引擎、事务、日志、MVCC、锁、索引、执行计划、复制、调优)
数据库·经验分享·mysql·adb·面试
百***65952 小时前
PON架构(全光网络)
网络·数据库·架构
Databend2 小时前
Databend SQL 存储过程使用指南
数据库
冒泡的肥皂3 小时前
说下数据存储
数据库·后端·mysql