如何在二维向量的定义位置插入向量?
Posted
技术标签:
【中文标题】如何在二维向量的定义位置插入向量?【英文标题】:How to insert a vector in the defined place of 2D vector? 【发布时间】:2017-09-27 13:41:08 【问题描述】:我有一个 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> >&)
【问题讨论】:
k
是什么?请提供minimal reproducible example
为 k 添加了评论
不能添加定义吗? cmets 可以说任何话,与您收到的错误消息完全无关
【参考方案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,
,你需要一个迭代器。
【讨论】:
以上是关于如何在二维向量的定义位置插入向量?的主要内容,如果未能解决你的问题,请参考以下文章