多字符常量警告

多字符常量警告

为什么这是警告?我认为,在许多情况下,使用多字符int常量而不是“无意义”数字或代替定义具有相同值的Const变量更清楚。在解析Wave/tiff/其他文件类型时,可以更清楚地比较读取值与“EVAW”、“数据”等,而不是它们对应的值。

样本代码:

int waveHeader = 'EVAW';

为什么这会发出警告呢?


慕哥6287543
浏览 1644回答 3
3回答

小怪兽爱吃肉

这个警告对于那些错误地写东西的程序员是有用的。'test'他们应该写的地方"test".这种情况比真正想要多字符int常量的程序员要频繁得多。

12345678_0001

如果您很高兴知道自己正在做什么,并且能够接受可移植性问题,例如,在GCC上,您可以禁用命令行上的警告:-Wno-multichar出于类似的原因,我用这个作为我自己的应用程序来处理AVI和MP4文件头。
打开App,查看更多内容
随时随地看视频慕课网APP