【发布时间】:2016-02-20 13:17:07
【问题描述】:
我想使用插入函数和迭代器更改具有指定大小的向量的值。
当我开始调试时,Visual Studio 会显示这条消息:
Vector iterator not incrementable
我读过这是在向量上使用insert 的部分结果。
vector<int> myvector(10,1);
vector<int>::iterator it;
for (it = myvector.begin(); it != myvector.end(); it++)
myvector.insert(it, 2);
是否有其他方法可以实现最初的目的?
【问题讨论】:
-
在迭代时插入向量是没有意义的。插入将使迭代器无效。
-
除了说“这是我试图做的,它没有用”,请描述你试图用非工作代码以外的东西做些什么。用英语描述非工作代码也不是(非常)有用。描述你正在尝试做的事情,而不是只描述你尝试如何去做。我的猜测:您想将包含
{1,1,1,1,1,1,1,1,1,1,1}的向量转换为{2,1,2,1,2,1,2,1,2,1或类似的吗?
标签: c++ c++11 vector insert iterator