我正在编写一个简单的结构在使用vscode在c++
#include <variant>
using namespace std;
struct Entry {
string name;
variant<double,int> v;
};
我使用的是C/C++ extension by Microsoft。
尽管它编译得很好,但不知何故,扩展无法检测到variant
类。
如何解决VScode的这个问题?
我正在编写一个简单的结构在使用vscode在c++
#include <variant>
using namespace std;
struct Entry {
string name;
variant<double,int> v;
};
我使用的是C/C++ extension by Microsoft。
尽管它编译得很好,但不知何故,扩展无法检测到variant
类。
如何解决VScode的这个问题?
3条答案
按热度按时间qij5mzcb1#
找到了!
C中的这类问题也是如此。
看起来这个扩展的默认c++标准有时是不够的。
c3frrgcw2#
对于使用
cl.exe
(configuring Microsoft C++上的VSCode指南)编译和链接C/C++程序的用户:.vscode/task.json
。"/std:c++latest"
添加到args
列表中。Ctrl + Shift + B
进行构建。在
Developer Command Prompt for VS XXXX
中键入cl.exe /help
可以找到有关cl.exe
的更多选项。disho6za3#
如果您使用的是clangd扩展名而不是Microsoft的C++扩展名,则应将其添加到
.vscode/settings.json
文件中:编辑文件后,请确保重新加载扩展以应用更改。