Visual Studio 2019忽略C++14语言级别设置问题求助
解决Visual Studio 2019中C++14编译与
__cplusplus显示异常的问题 问题本质
MSVC编译器默认会将__cplusplus定义为旧版本值(如199711L),即便你在项目设置中指定了C++14,这是因为需要额外开关才能让编译器暴露标准的__cplusplus宏定义。
具体解决步骤
配置编译器开关
- 右键项目 → 属性 → 配置属性 → C/C++ → 命令行
- 在「附加选项」中添加
/Zc:__cplusplus - 点击确定后重新编译项目
验证生效状态
编译完成后,鼠标悬停__cplusplus应显示201402L(这是C++14标准对应的正确宏值,而非你尝试的201400L)确认C++标准设置
再次检查项目属性 → 配置属性 → C/C++ → 语言 → C标准,确保选中的是**ISO C14 标准(/std:c++14)**,避免选择带stdcpplatest或其他版本的选项
补充说明
手动定义__cplusplus=201400L无效,因为MSVC会忽略用户的自定义宏定义,必须通过/Zc:__cplusplus开关触发编译器使用标准宏值。
内容的提问来源于stack exchange,提问作者Logicrat
相关产品推荐
相关产品推荐

