我正在尝试制作包含 vector 的 map ,但在尝试访问元素时出现错误。
这是我的代码:
#include <iostream>
#include <map>
#include <vector>
#include <string>
using namespace std;
int main()
{
map<int, vector<vector<string>>> m;
m[0][0].push_back("hi");
return 0;
}
您可以在这里尝试:https://onlinegdb.com/HytLmjQJV
我遇到的错误是在 Visual Studio 中:
Debug assertion failed.Program : Expression:vector subscript out of range.
最佳答案
m[0] 在您的代码中是一个空 vector ,因此您无法访问它的第一个元素 (m[0][0])。 您需要在内部创建一个 vector ,例如
m[0].push_back({});
m[0][0].push_back("hi");
关于c++ - 如何在 C++ 中创建 vector 的 vector 映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53607166/