MSVC是否提供类似GCC/Clang的0替代nullptr检测警告?
MSVC是否具备替代
0为nullptr的类似警告机制? GCC和Clang可通过-Wzero-as-null-pointer-constant警告标记使用0替代nullptr的旧写法,MSVC也有对应的警告机制,分两种场景:
- 传统编译警告:当启用
/W3或更高编译级别时,会触发C4309警告(提示“截断常量值”),只要代码里把字面量0赋值给指针类型就会触发该警告。 - 代码分析警告:开启
/analyze(静态代码分析)选项后,会触发C26472警告,明确提示“不要使用字面量0作为空指针;改用nullptr”,这个警告更贴合C++11及后续标准的规范要求。
如果需要将这类警告强制转为错误,可配合/WX选项使用。
内容的提问来源于stack exchange,提问作者Bolpat
相关产品推荐
相关产品推荐

