Mac Vscode使用C++11,用unordered_set报错或者报错报警告

参考:https://zhangbin.blog.csdn.net/article/details/106973292?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7EPayColumn-1-106973292-blog-123135372.pc_relevant_aa&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7EPayColumn-1-106973292-blog-123135372.pc_relevant_aa&utm_relevant_index=2

发现vscode不能使用unordered_set还有auto等c++11里的语法。
在settings.json中加入

mac用户进入vscode shift+command+p打开settings.json 添加这句话:
"code-runner.executorMap": {
"cpp": "g++ $fileName -std=c++17 -o $fileNameWithoutExt.exe && ./$fileNameWithoutExt.exe"
},

Mac Vscode使用C++11,用unordered_set报错或者报错报警告_第1张图片
此时可以编译,会正常输出结果(但在我这里界面还是会提醒)
Mac Vscode使用C++11,用unordered_set报错或者报错报警告_第2张图片
如果需要让提示的预编译不报错
把鼠标移动到出错的位置
可以选择修改configurations,也可以选择禁用错误曲线
Mac Vscode使用C++11,用unordered_set报错或者报错报警告_第3张图片
在configurations中可以把C++标准设置成c++11(原来是c++98)
Mac Vscode使用C++11,用unordered_set报错或者报错报警告_第4张图片
如果加了bits/stdc++.h,导致无法检索到unordered_set(实际编译是没有问题的),那么手动加一个#include即可。

关于黄色的warning
参考:https://blog.csdn.net/weixin_42292229/article/details/113767569
在弹出的 setting.json 文件中加入如下编译参数:

{
    "C_Cpp.default.compilerArgs": [
        "-g",
		"${file}",
        "-std=c++11",
		"-o",
		"${fileDirname}/${fileBasenameNoExtension}"
    ]
}

你可能感兴趣的:(解决的问题,C++,VSCode,vscode,macos,c++)