Qt中用//进行中文注释可能导致意外的BUG

一、问题描述

//或者///都为qt中的注释,理应后面的内容应该与是否为中文没有关系,但有时还是会发生一些莫名其妙的bug,本项目使用MSVC2017编译器,如//后面用英文注释就没事,用中文就会有报错,或者某些中文没事,换个排序或删掉加上某个字就会报错:

二、解决方案

这不是中文注释本身有问题,而是当前文件是UTF-8无BOM,且当前工程没有全局/utf-8,在这种情况下msvc会把它按当前代码页去解释,结尾会留下一个"悬空"的双字节前导字节,结果这一行的//注释没有在换行处正常结束,下一行代码被吞进注释里了,所以报错,某些看起来能编译的中文注释,只是字节序列碰巧没有踩到这个坑,处理方法是将文件改为UTF-8with BOM,在qt的项目编辑区右键,选择 Add UTF-8 BOM on Save,保存即可

相关推荐
Quz19 小时前
QML Label 完整用法与 Text 组件选型
前端·qt
李永奉21 小时前
杰理可视化SDK开发-【BUG】配置“TWS两边同时按消息使能”功能后,按键单击功能无效失灵
开发语言·单片机·嵌入式硬件·物联网·bug
kaixin_learn_qt_ing21 小时前
QPluginLoader
qt
AI大模型-小雄1 天前
充值Codex + GPT-5.5 并发 Bug 调试实战:从时序分析到回归测试
gpt·log4j·bug
kaixin_learn_qt_ing1 天前
Qt 提升部件(Promote)找不到头文件路径
qt
穷人小水滴2 天前
(科幻) 备用肉身虫 (Backup Body Bug, BBB) 系列设定 (202607 更新)
aigc·bug·科幻
秋田君2 天前
QT_QT布局详解
开发语言·数据库·qt
辞旧 lekkk2 天前
【Qt系统相关】鼠标事件
linux·开发语言·qt·学习·计算机外设·萌新
brave_zhao2 天前
什么是Qt Designer
开发语言·qt
贺国亚2 天前
A2A协议与Agent互操作-Task生命周期
开发语言·qt