vector iterators incompatible问题
来源:互联网 发布:新郎新婚致辞 知乎 编辑:程序博客网 时间:2024/05/22 14:16
今天写删除vector元素出现vector iterators incompatible
的问题:
代码如下:
vector<int> v;
...
auto end = v.end();
auto iter = v.begin();
while(iter != end)
{
v.erase(iter);
}
出现上述问题
第一轮解决:
while(iter != end)
{
iter = v.erase(iter);
}
测试,仍旧出现上述问题。
最后F11进入微软代码发现
void _Compat(const _Myiter& _Right) const
{ // test for compatible iterator pair
if (this->_Getcont() == 0
|| this->_Getcont() != _Right._Getcont())
{ // report error
_DEBUG_ERROR("vector iterators incompatible");
_SCL_SECURE_INVALID_ARGUMENT;
}
}
上述代码表明两个数量不等。删除元素后造成end迭代器的位置发生变化
第二轮解决:
while(iter != v.end())
{
iter = v.erase(iter);
}
测试OK!
0 0
- vector iterators incompatible问题
- vector iterators incompatible
- vector iterators incompatible
- vector iterators incompatible
- vector iterators incompatible
- vector iterators incompatible
- 迭代器vector iterators incompatible错误;
- 关于list iterators incompatible/vector iterators incompatible 报错总结
- 关于使用vector时出现“Vector iterators incompatible!”问题注意细节
- "vector iterators incompatible"及一些感想
- Vector发现的一个使用细节:vector iterators incompatible(转)
- Cocos2d-x Vector——vector iterators incompatible
- vector调用erase 后运行时异常vector iterators incompatible
- vector的iterator进行erase操作后报错vector iterators incompatible
- C++使用vector.erase()报错:vector iterators incompatible 解决方案
- 采坑memset初始化vector的变量---vector iterators incompatible
- 迭代器报“vector iterators incompatible”错的几种可能
- 迭代器报“vector iterators incompatible”错的几种可能
- UTF-8、en_US.UTF-8和zh_CN.UTF-8的区别
- XMPP协议内容和格式
- thinkphp的select和find的区别
- 关于拔出SDCARD或U盘后apk关闭的问题
- AngularJS $http 异步后台无法获取请求参数
- vector iterators incompatible问题
- XMPP 和 Openfire
- 兄弟郊游问题_JAVA_南阳理工ACM
- 程序员的10大成功面试技巧
- XMPP-0055搜索用户协议
- Visual Studio 2005 序列号过期破解方法
- 设计模式-建造者模式
- C++虚函数
- Tcp/ip实验准备:一个简单的定时器——boost实现