VS2019 更换C++标准中遇到的一个问题

使用vs2019的时候想要更换c++标准为17,但是发现更换失败,解决之后记录一下。

一、这是测试目前C++标准的一个代码

#include<iostream>
int main()
{
	if (__cplusplus > 201703L) std::cout << "C++2a\n";
	else if (__cplusplus == 201703L) std::cout << "C++17\n";
	else if (__cplusplus == 201402L) std::cout << "C++14\n";
	else if (__cplusplus == 201103L) std::cout << "C++11\n";
	else if (__cplusplus == 199711L) std::cout << "C++98\n";
	else std::cout << "pre-standard C++\n";
	std::cout << "Press ANY key to exit.";
	return 0;
}

二、如何更改c++标准

在这里插入图片描述
在这里插入图片描述
到这里就通过选项更改支持的C++标准就可以了
如果再这里修改了C++标准,然后运行上面的代码发现标准并没有改动,那么请看下文,这个问题就是我所遇到的

三、关于无法修改C++标准的解决办法

在这里插入图片描述
首先,按照图示点到命令行这里,在其他选项里输入:
/Zc:__cplusplus (看清楚,这里是两个下划线)
看清楚,这里是两个下划线!!!
看清楚,这里是两个下划线!!!
然后点击确定,在运行上面的代码,结果为你修改的标准,那就大功告成!

另外求助一个问题
谁知道这是什么情况,无论哪个窗口都是这样
在这里插入图片描述
在这里插入图片描述

### 回答1: 这个问题可能有多种可能性,以下是一些可能的原因和解决方法: 1. 缺少头文件:使用map需要包含头文件<map>,如果没有包含这个头文件,会导致无法解析外部指令的错误。 解决方法:在代码包含头文件<map>。 2. 命名空间问题:map位于std命名空间,如果没有使用命名空间std::,也会导致无法解析外部指令的错误。 解决方法:在代码使用命名空间std::,或者在使用map之前添加using namespace std;语句。 3. 编译选项问题:如果编译选项没有包含库文件,也会导致无法解析外部指令的错误。 解决方法:在编译选项添加库文件,例如使用gcc编译时,需要添加-lstdc++选项。 4. 编译器版本问题:有些较旧的编译器可能不支持map等STL容器。 解决方法:升级编译器或者使用其他容器代替map。 希望以上解决方法可以帮助到你。如果问题仍然存在,请提供更多的细节信息,以便更好地解决问题。 ### 回答2: 在C语言使用map后产生无法解析的外部指令可能是由于以下几个原因所导致的。 首先,可能是因为在程序没有包含相关的头文件。map是C++标准一个容器,如果在C语言程序使用map,需要包含相关的头文件,如<map.h>或<unordered_map.h>。如果没有正确包含头文件,编译器就无法解析map相关的函数和类型,从而导致无法解析的外部指令错误。 其次,可能是由于链接错误导致的。当在C语言程序使用map后,链接器可能无法找到与map相关的库文件。解决这个问题的方法是在编译链接时显式地指定使用相关的库文件,如使用-lstdc++选项来链接C++标准库。 另外,还有可能是因为编译器版本不兼容导致的。不同版本的C编译器对C++语言的支持程度可能不同,有些编译器可能无法正确解析map相关的语法和函数调用。在这种情况下,可以尝试更新或更换编译器版本来解决问题。 总之,在C语言使用map容器可能会遇到无法解析的外部指令错误,可能是由于缺少相关的头文件、链接错误或编译器版本不兼容所导致。通过正确包含头文件、显式指定链接库文件或更换更新的编译器版本,可以解决这个问题。 ### 回答3: 使用map时,如果产生无法解析的外部指令,可能是由于以下原因之一: 1. 路径错误:当使用map时,需要提供正确的文件路径或目录路径。如果路径不正确,系统将无法解析找到指定的外部指令。 2. 缺少依赖库:某些外部指令可能需要依赖于其他库或程序。如果缺少所需的依赖库,系统将无法解析和执行指令。 3. 环境变量问题:有时,外部指令需要特定的环境变量设置才能正常解析和执行。如果环境变量未正确设置或缺少必要的变量,系统将无法正确解析指令。 4. 权限问题:如果当前用户没有足够的权限执行外部指令,系统将无法解析和执行指令。在这种情况下,需要使用具有足够权限的用户来执行指令。 为了解决这些问题,可以尝试以下方法: 1. 检查路径:确认提供的路径是正确的,并且存在相关的文件或目录。 2. 安装依赖库:检查所需的依赖库是否已正确安装,并确保库的路径被正确设置。 3. 设置环境变量:如果外部指令需要特定的环境变量设置,请检查环境变量是否正确设置,并确保路径和其他变量值正确。 4. 检查权限:确认当前用户是否具有执行外部指令的足够权限,如果没有,可以尝试使用具有足够权限的用户来执行指令。 如果仍然无法解决问题,可以尝试搜索相关错误消息或在开发者社区提问以获取更多帮助。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值