如何禁用GCC中特定的pedantic零大小数组警告?
解决-Wpedantic下零大小数组警告的单独关闭问题
嘿,我之前也被这个问题卡过一阵!其实这个警告是可以单独关闭的,只是对应的选项名称容易被忽略,不是pedantic警告特殊到不能单独移除~
关键解决方法
你要找的关闭选项是 -Wno-zero-length-array,把它和-Wpedantic一起加到编译命令里就行。这样既能保留-Wpedantic开启的其他严格标准检查,又能单独屏蔽掉零大小数组的警告。
举个实际编译的例子:
g++ -Wpedantic -Wno-zero-length-array your_source.cpp -o your_program
为什么之前找不到?
因为-Wpedantic会启用一整套符合ISO C++标准的警告,其中很多警告都有自己独立的开关,但它们的选项名称不一定直接和警告信息里的文字完全对应。比如这个零大小数组的警告,对应的启用选项是-Wzero-length-array,所以关闭就是前面加no-。
如果你用的是Clang编译器,这个选项也是通用的,它和GCC在这类警告选项上保持了兼容。
内容的提问来源于stack exchange,提问作者stu
相关产品推荐
相关产品推荐

