【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](...) {
    
});
相关推荐
Gauss松鼠会19 分钟前
【GaussDB】GaussDB锁阻塞源头查询
java·开发语言·前端·数据库·算法·gaussdb·经验总结
2601_9657984729 分钟前
How to Build a Custom Artisan Store on WordPress: Crafti Theme Review
linux·服务器·数据库
霸道流氓气质1 小时前
Spring 事务传播机制与 REQUIRES_NEW
java·数据库·spring
YOU OU1 小时前
Redis分布式锁
数据库·redis·分布式
小草儿7991 小时前
GBase 8s CLOB → VARCHAR(32739) 数据迁移方案文档
数据库
秋田君1 小时前
QT_QColorDialog颜色对话框
java·数据库·qt
涛声依旧393162 小时前
运维项目:InnoAI SQL 助手
运维·数据库·sql
万悉科技2 小时前
时尚品牌GEO技术选型指南:LLM原生优化与AI记忆构建全解析
数据库·人工智能·搜索引擎
lb29172 小时前
在window上安装orcale数据库流程(快速,简洁)
数据库
shuair2 小时前
MySQL 权限管理
数据库·mysql