如何在二维向量的定义位置插入一个向量?
How to insert a vector in the defined place of 2D vector?
我有一个简单的二维向量std::string。
std::vector<std::vector<std::string> > vec;
std::vector<std::string> v;
现在如何在vec定义的位置插入v?
我尝试使用 insert()
,但出现错误:
vec.insert(k,v); //k -is an position of vec for inserting
no matching function for call to std::vector<std::vector<std::basic_string<char> > >::insert(int, std::vector<std::basic_string<char> >&)
使用迭代器:
std::vector<std::vector<std::string> > vec;
std::vector<std::string> v;
vec.insert(vec.begin(), v);
或:
vec.insert(vec.begin() + 2, v);
在位置 2 插入,但要确保有索引 2 - 即。调整矢量大小:vec.resize(3);
从你的错误中我看到 k 是 int 类型:insert(int,
,你需要一个迭代器。
我有一个简单的二维向量std::string。
std::vector<std::vector<std::string> > vec;
std::vector<std::string> v;
现在如何在vec定义的位置插入v?
我尝试使用 insert()
,但出现错误:
vec.insert(k,v); //k -is an position of vec for inserting
no matching function for call to std::vector<std::vector<std::basic_string<char> > >::insert(int, std::vector<std::basic_string<char> >&)
使用迭代器:
std::vector<std::vector<std::string> > vec;
std::vector<std::string> v;
vec.insert(vec.begin(), v);
或:
vec.insert(vec.begin() + 2, v);
在位置 2 插入,但要确保有索引 2 - 即。调整矢量大小:vec.resize(3);
从你的错误中我看到 k 是 int 类型:insert(int,
,你需要一个迭代器。