41 28 D:\C++代码包\0709.cpp [Error] could not convert '{8, 2, 3, 4, 1}' from '<brace-enclosed initializer list>' to 'std::vector<int>'
时间: 2024-01-01 20:04:41 浏览: 146
这个错误是因为你可能在尝试使用初始化列表来初始化一个`std::vector<int>`,但是你的编译器无法识别这种语法。
在C++11之后,可以使用初始化列表来初始化`std::vector`。但是在某些编译器或编译器设置中,可能需要打开对C++11的支持。
你可以尝试在编译选项中添加 `-std=c++11`(或更高版本)来启用对C++11的支持。例如,使用以下命令进行编译:
```
g++ -std=c++11 your_file.cpp -o your_output
```
如果你的编译器不支持C++11或更高版本的标准,你可以尝试使用其他方式来初始化`std::vector<int>`。例如,使用`push_back()`函数逐个添加元素:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vec;
vec.push_back(8);
vec.push_back(2);
vec.push_back(3);
vec.push_back(4);
vec.push_back(1);
// 输出向量的元素
for (int i = 0; i < vec.size(); i++) {
cout << vec[i] << " ";
}
cout << endl;
return 0;
}
```
这样可以确保你的代码能够在没有启用C++11支持的情况下正常工作。
阅读全文