試したすべての構文エラーが発生します。コメントの代わりに何を入れたらいいのか教えてもらえますか?ベクトルを扱うのはこれが初めてです。
EntityListは、Entityクラスの静的ベクトルです。
for(int i = 0;i < (int)Entity::EntityList.size();i++) {
if(!Entity::EntityList[i]) continue;
if(Entity::EntityList[i]->isDead){
//Erase from vector
//Decrement i?
}
Entity::EntityList[i]->OnLoop();
}
コメントの代わりに何を入れればいいですか?私はいくつかのことを試しましたが、何も機能しません。たとえば、Entity :: EntityList.erase(i); 動作しません。次のエラーが発生しますが、わかりません。
パラメータ1を「int」から「std::_Vector_const_iterator<_Myvec>」に変換できません
私が見るすべての例では、パラメーターにintを使用しているため、何をすべきかわかりません。
また、ベクトル内の要素は削除後にシフトダウンされるため、アイテムを削除した後にiをデクリメントして、同じ値でループを再度実行する必要がありますか?それとも、それを行うためのよりエレガントな方法はありますか?