c++ - 无法在 Visual Studio 代码中使用初始化列表初始化向量
问题描述
#include <vector>
#include <iostream>
using namespace std;
int main()
{
vector<int> v = {1,2,3,4};
for (int x : v)
{
cout << x << ' ';
}
return 0;
}
当我在 vscode 中运行上述代码时,我收到以下错误:
非聚合类型 'vector' 不能用初始化列表 gcc [7, 17] 初始化
注意- 错误包括 gcc,即使那不是我使用的编译器。
该代码在终端和 Xcode 中编译得很好,所以我知道它与 vscode 有关。我该如何解决这个问题?
注意- 我正在使用具有以下配置的 IC/C++ IntelliSense:编译器路径 (/usr/bin/clang++) IntelliSense 模式 (macros-clang-arm64) 包含路径 (${workspaceFolder}/**) C 标准 (c17) C++标准 (C++17)。
解决方案
我复制了你的代码并命名它test.cpp
。我遇到了同样的问题,我通过添加一些配置解决了这个问题。在 中查找tasks.json
并添加一些内容args
。
"args": [
"-g",
"-Wall",
"-std=c++11",
"test.cpp"
]
它适用于我的 MAC!我command+shift+B
以前编译过,编译后生成的a.out
。然后你可以运行它F5
。我也在launch.json
这里发布,/Users/work/Foo
我的工作区文件夹在哪里。注意线program
,我已经改变了这条线。祝你好运!
{
"version": "0.2.0",
"configurations": [
{
"name": "C/C++ Runner: Debug Session",
"type": "cppdbg",
"request": "launch",
"args": [],
"stopAtEntry": false,
"cwd": "/Users/work/Foo",
"environment": [],
"program": "/Users/work/Foo/a.out",
"MIMode": "lldb",
"externalConsole": true
}
]
}
推荐阅读
- android - 无法解决 play-services-auth 和 firebase-core
- javascript - javascript将下拉值设置为月份在IE11中不起作用
- salesforce - 根据行值隐藏 Lightning Datatable 内的按钮
- php - 如何按字母顺序按升序和降序对数组进行排序?
- javascript - Strapi 未从 Digital Ocean 上托管的现有 MongoDB 加载集合
- ios - 实时更新自定义表格部分标题视图内容
- c++ - c++ 错误分配应用程序失败
- angular - 到嵌套模块的角度路由
- php - 在每个请求上更新“last_active”
- r - which.max 不起作用,但 which.min 是(在 R 中)