67 111 C:\Users\Caterina\Desktop\未命名1.cpp [Error] could not convert '{81, 98, 188, 37, 112, 18, 18, 60, 67, 146, 166}' from '<brace-enclosed initializer list>' to 'std::vector<int>'如何解决这个错误
时间: 2024-02-26 07:57:23 浏览: 109
论文研究 - 通过新的量表评估儿童的视频游戏习惯和病理行为:儿童视频游戏量表的心理测量特性(VGS-C)
这个错误的原因是你试图将一个大括号括起来的初始化列表作为参数传递给一个 `std::vector<int>` 对象。你可以尝试将初始化列表中的元素一个一个地添加到 `std::vector<int>` 对象中,或者使用 `std::vector<int>` 的构造函数来将初始化列表转换为 `std::vector<int>` 对象,如下所示:
```c++
std::vector<int> vec = {81, 98, 188, 37, 112, 18, 18, 60, 67, 146, 166};
```
如果你使用的是旧的编译器或者标准库,可能不支持初始化列表,那么你可以使用以下代码:
```c++
int arr[] = {81, 98, 188, 37, 112, 18, 18, 60, 67, 146, 166};
std::vector<int> vec(arr, arr + sizeof(arr) / sizeof(int));
```
这将使用数组来初始化 `std::vector<int>` 对象。
阅读全文