首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

erase删除一段数据返回迭代器的有关问题

2013-12-04 
erase删除一段数据返回迭代器的问题int main(){vectorint ivecfor(int i0i!20++i)ivec.push_back(i

erase删除一段数据返回迭代器的问题
int main()
{
     vector<int> ivec;
     for(int i=0;i!=20;++i)
         ivec.push_back(i);
     vector<int>::iterator iter=ivec.erase(ivec.begin(),ivec.begin()+4);
     cout<<*iter<<endl;
     return 0;
}
这段程序在VS2010里运行时有误,请高手解释一下哪里有错,如果只删除一个元素,是没有问题的。
[解决办法]
2010接受返回的迭代器不知道为什么会莫名其妙抛异常,原理上应该没问题的,估计是bug,你升级下编译器看看。
前两天也有人问这个问题,你看看:http://bbs.csdn.net/topics/390655087

热点排行