VSCode“变体不是模板”,如何让vscode检测到它?

tor*_*keo 1 c++ visual-studio-code

我正在使用 c++ 中的 vscode 编写一个简单的结构

#include <variant>
using namespace std;
struct Entry {
  string name;
  variant<double,int> v;
};
Run Code Online (Sandbox Code Playgroud)

我正在使用Microsoft 的 C/C++ 扩展

尽管事实上它编译得很好,但不知何故扩展无法检测到该类variant

如何使用 VScode 解决此问题?

tor*_*keo 5

找到了!

  • 转至扩展 > C/C++ > 齿轮图标 > 扩展设置
  • 在上方搜索栏中添加“标准”
  • 查找“C_Cpp > 默认:Cpp 标准”条目。
  • 单击下拉列表并选择您需要的最高 C++ 标准。
  • 重新加载,错误就会消失。

C 中的此类问题也是如此。
似乎此扩展的默认 C++ 标准有时可能不够。