[英]'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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.