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

一、问题描述

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

二、解决方案

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

相关推荐
QuestLab12 小时前
维护 Hermes Agent CN 过程中的碎碎念,以及从bug上得到的一点点启发
bug
云小逸12 小时前
【 VS2013 集成 Qt5.7.1 踩坑记录:moc/uic/rcc 报“系统找不到指定的路径”怎么解决?】
开发语言·windows·qt
努力努力再努力wz13 小时前
【Qt入门系列】深入理解信号与槽:从事件响应到自定义信号机制
c语言·开发语言·数据结构·数据库·c++·qt·mysql
mengzhi啊13 小时前
串口数据监控软件开发总结
qt
小短腿的代码世界14 小时前
Qwt实时FFT频谱分析深度解析:从信号采集到可视化渲染的完整架构设计
前端·qt·架构·交互
Hua-Jay14 小时前
OpenCV联合C++/Qt 学习笔记(二十)----Harri角点检测、Shi-Tomas角点检测及亚像素级别角点位置优化
c++·笔记·qt·opencv·学习·计算机视觉
十五年专注C++开发14 小时前
QFluentKit: 一个基于 Qt Widgets 的 Fluent Design 风格 UI 组件库
开发语言·c++·qt·ui·qfluentkit
Hua-Jay14 小时前
OpenCV联合C++/Qt 学习笔记(十九)----图像分割
c++·笔记·qt·opencv·学习
小短腿的代码世界14 小时前
Qt位置服务深度解析:从GPS定位到地理围栏的完整架构设计
开发语言·qt
史迪仔011215 小时前
[QML] Qt5/6图像色彩空间处理
开发语言·前端·c++·qt