0

我有一个简单的 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> >&)
4

1 回答 1

1

使用迭代器:

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,,并且您需要一个迭代器。

于 2017-09-27T13:49:11.933 回答