首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C/C++ vscode扩展显示错误,而没有

C/C++ vscode扩展显示错误,而没有
EN

Stack Overflow用户
提问于 2021-04-21 08:51:00
回答 1查看 356关注 0票数 1

我有一个用C++ 20标准编译的程序。

代码语言:javascript
运行
复制
g++ -std=c++2a test.cpp 
代码语言:javascript
运行
复制
#include <iostream>
#include <variant>

using namespace std;

int main(int argc, char *argv[])
{
    variant<int, string> v{"hello"};
    
    cout << get<string>(v) << endl;

}

我安装了C/C++扩展,我更改了设置以考虑到C++ 20标准as proposed before

C_Cpp › Default: Cpp Standard > C++ 20

在悬停variant时,我得到以下错误

代码语言:javascript
运行
复制
identifier "variant" is undefined C/C++(20)

如果我正确理解,variantstd的一部分,因为C++ 17,那么为什么扩展在告诉它使用C++ 20标准之后找不到它呢?

编辑1:

编译器版本是g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0

编辑2:

我没有cpp_properties.json文件,我只是安装了扩展名,并在设置中更改了C++标准版本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-21 17:51:39

正如评论中提到的,问题来自于cpp_properties.json

即使在更改设置之后,我也在项目中找到了多个隐藏的.vscode文件夹,其中包含有错误标准的cpp_properties.json

我手动更改了cpp_properties.json文件,这样就可以了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67192391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档