visual studio编译c++问题处理

严重性    代码    说明    项目    文件    行    禁止显示状态
错误    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++,做不到编译器通用。

猜你喜欢

转载自blog.csdn.net/a2831942318/article/details/131256563