严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2760 语法错误: 意外的令牌“标识符”,预期的令牌为“;”
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C7510 “string_view”: 类型 从属名称的使用必须以“typename”为前缀
visual studio项目属性里,语言的“符合模式”是什么意思?
Visual Studio 2019 RTW(版本 16.0)中的符合性改进
Visual Studio 2019 RTW 包含 Microsoft C++ 编译器 (MSVC) 的以下符合性改进、bug 修复和行为变更
注意: C++20 功能将在 /std:c++latest 模式下提供,直到编译器和 IntelliSense 的 C++20 实现完成。 届时,将引入 /std:c++20 编译器模式。
符合性改进介绍,请看链接:
https://docs.microsoft.com/zh-cn/cpp/overview/cpp-conformance-improvements?view=vs-2017
/permissive-:启用所有严格标准符合性编译器选项,并禁用大部分特定于 Microsoft 的编译器扩展(但有一些例外,比如 __declspec(dllimport))。 在 Visual Studio 2017 15.5 版中此选项默认为开启状态。 /permissive- 符合性模式包括对两阶段名称查找的支持。
如果发现以前正常的代码,在VS2019编译器中,提示有语言的问题
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2065 “string_view”: 未声明的标识符
严重性 代码 说明 项目 文件 行 禁止显示状态
错误(活动) E1097 未知特性 "no_init_all"
解决办法:
只需要点击 调试->当前项目属性->C/C++->语言->符合模式 ;选否。
C++语言标准:C++17
一些简单的基础库不应该使用高版本的C++,做不到编译器通用。