vector<long long>报错
时间: 2023-07-16 19:11:27 浏览: 47
可能是以下原因导致的报错:
1. 未包含正确的头文件。vector 需要包含头文件 <vector>。
2. 使用了不支持的数据类型。vector 只支持内置数据类型和自定义数据类型,如果使用了 STL 的容器或其他类型,会导致编译错误。
3. 使用了无效的下标或迭代器。vector 的下标从0开始,如果使用了负数或大于等于 vector 大小的下标,会导致访问越界的错误。类似地,如果使用了无效的迭代器,也会导致类似的错误。
4. 没有为 vector 分配足够的内存。当 vector 中的元素数量超过其已分配内存的大小时,vector 会自动重新分配内存。如果没有足够的内存,会导致分配失败的错误。
您可以检查一下以上几点,看看是否能解决问题。如果问题仍然存在,请提供更多信息和具体的错误信息,以便我们更好地帮助您解决问题。
相关问题
vector<vector<int>>
vector< vector<int> > 是一个容器,其中嵌套了另一个容器。外层容器的元素类型是 vector<int>,内层容器的元素类型是 int。你可以通过以下几个步骤来使用 vector< vector<int> >:
1. 定义和长度:
- 正确的定义方式:vector< vector<int> > A;(在尖括号前加上空格)
- 获取 vector< vector<int> > A 中的外层容器元素个数:int len = A.size();
- 获取 vector< vector<int> > A 中第 i 个外层容器的长度:int len = A[i].size();
2. 访问某个元素:
- 在使用 vector 容器之前,需要加上 <vector> 头文件:#include <vector>
- vector 属于 std 命名空间的内容,因此需要通过命名限定:using std::vector;(也可以直接使用全局的命名空间方式:using namespace std;)
- 使用 vector 的成员函数来访问元素...
例如,如果想定义 A = [[0,1,2],[3,4,5]],可以按如下步骤:
```cpp
vector< vector<int> > A; // 大容器
// A.push_back 里必须是 vector
vector<int> B; // 小容器
B.push_back(0);
B.push_back(1);
B.push_back(2);
A.push_back(B); // 小容器放入大容器
B.clear(); // 清空小容器元素
B.push_back(3);
B.push_back(4);
B.push_back(5);
A.push_back(B);
```
范例中还提供了一个案例,可以参考如下代码实现键盘输入 n 维矩阵,转化为二维向量:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector< vector<int> > v;
vector<int> temp;
int n, i, j, num;
cout << "input the dimension:";
cin >> n;
cout << "请输入" << n << "*" << n << "的矩阵" << endl;
// 输入元素
for (i = 0; i < n; i++) {
temp.clear(); // 清空 temp 内元素
for (j = 0; j < n; j++) {
cin >> num;
temp.push_back(num);
}
v.push_back(temp);
}
cout << "<----- 遍历输出所有元素 ----->" << endl;
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
cout << v[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
vector<vector<string>>
vector<vector<string>>是一个嵌套的向量,其中每个元素都是一个字符串向量。它可以用来存储多维的字符串数组。 例如,你可以使用它来表示一个二维的字符串表格或矩阵。每个内部的字符串向量代表行,而外部的向量代表列。 与此同时,vector<vector<string>>也可以用来存储和操作多个字符串向量的集合。
要创建一个空的vector<vector<string>>对象,你可以像这样声明一个变量:vector<vector<string>> fle; 你也可以使用push_back()函数,向其中添加新的元素。 例如,你可以使用一个循环来向fle中添加一行一行的字符串,或者通过用户的输入来动态添加字符串。
总结来说,vector<vector<string>>是一个用于存储和操作多维字符串数组的数据结构,可以表示二维表格或矩阵,也可以存储和操作多个字符串向量的集合。你可以使用push_back()函数向其中添加新的元素,并通过循环或用户输入来动态添加字符串。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)