'vector iterators incompatible'
'vector iterators incompatible'
std::vector<Enemy*>::iterator it;
for(it;it!=tracked.end();it++){
(*it)->update(timeSinceLastFrame);
}
tracked
是向量:
std::vector<Enemy*>
为什么我得到这个错误?
没有初始化迭代器
for(std::vector<Enemy*>::iterator it = tracked.begin();it!=tracked.end();it++){
(*it)->update(timeSinceLastFrame);
}
许多实现(如vc++,你似乎正在使用)在调试中执行检查,以确保当比较两个迭代器时,它们属于同一个对象。默认构造的迭代器不属于任何特定的实例,因此it != tracked.end()
检查将失败,并出现该错误。
未初始化it
。试试这个:
std::vector<Enemy*>::iterator it;
for(it=tracked.begin();it!=tracked.end();it++){
(*it)->update(timeSinceLastFrame);
}
相关文章:
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 在c++中用vector填充一个简单的动态数组
- vector.resize()中的分配错误
- 使用std::vector的OpenCL矩阵乘法
- POCO::PostgreSQL:如何将std::vector支持添加到`Binder::bind`
- 在某些循环内使用vector.push_back时出现分段错误
- 当vector是tje全局变量时,c++中vector的内存管理
- std::vector的包装器,使数组的结构看起来像结构的数组
- 为什么(-1)%vector::size()总是返回0
- 在C++中将类(带有Vector成员)保存为二进制文件
- 编译器如何区分std::vector的构造函数
- 将 int 数组转换为 std::vector<int*>
- 计算两个迭代器之间的距离时"Vector Iterators Incompatible"
- C++迭代器作为 lambda 函数中的参数,断言失败:"vector iterators incompatible"
- C++ for-each 语句触发"vector iterators incompatible"断言失败:this->_Getcont() == 0
- VS2010: assert "vector iterators incompatible" in std::vector.clear()
- Visual Studio 2010, C++, "vector iterators Incompatible" 在 vector.clear() 期间
- 连接两个 STL 向量时出现错误"vector iterators incompatible"
- 'vector iterators incompatible'
- OpenCV "vector iterators incompatible"