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

一、问题描述

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

二、解决方案

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

相关推荐
羊小猪~~2 小时前
【QT】-- QT操作数据库
数据库·qt·oracle
C++ 老炮儿的技术栈3 小时前
c++ this 指针的用途
c语言·开发语言·c++·windows·qt·github
cpp_learners17 小时前
银河麒麟V10+飞腾FT-2000/4处理器+QT源码静态编译5.14.2指南
开发语言·qt
GIS阵地19 小时前
QgsProviderMetadata 详解(基于 QGIS 3.40.13 API)
数据库·qt·arcgis·oracle·gis·开源软件·qgis
2301_8084143820 小时前
测试中BUG的认识
bug
被AI抢饭碗的人1 天前
QT:基础与信号槽
前端·qt
小温冲冲1 天前
Qt WindowContainer 完整实战示例:QWidget 嵌入 QML
开发语言·数据库·qt
芦芭荞1 天前
QT之TCP/IP通讯
开发语言·qt·tcp/ip
冉佳驹1 天前
Qt 开发【第三篇】——— 核心属性解析与应用实践
qt·geometry·qicon·enabled·windowopacity·qwidget核心属性·framegeometry