pig*_*d10 3 c++ iterator vector std
std::vector<Enemy*>::iterator it;
for(it;it!=tracked.end();it++){
(*it)->update(timeSinceLastFrame);
}
Run Code Online (Sandbox Code Playgroud)
tracked 是矢量:
std::vector<Enemy*>
Run Code Online (Sandbox Code Playgroud)
为什么我收到此错误?(如果我没有提供足够的细节,请说明)
Eti*_*tel 12
你从来没有初始化迭代器.
for(std::vector<Enemy*>::iterator it = tracked.begin();it!=tracked.end();it++){
(*it)->update(timeSinceLastFrame);
}
Run Code Online (Sandbox Code Playgroud)
许多实现(例如VC++,您似乎正在使用)在调试中执行检查,以确保在比较两个迭代器时,它们属于同一个对象.默认构造的迭代器不属于任何特定实例,因此it != tracked.end()检查将失败并显示该错误.
| 归档时间: |
|
| 查看次数: |
231 次 |
| 最近记录: |