【发布时间】:2021-11-08 18:17:28
【问题描述】:
我有一个包含活动或非活动项目的向量。我希望此向量的大小保持较小以解决性能问题,因此我希望从向量中删除已标记为非活动的项目。我在迭代时尝试这样做,但出现错误“向量迭代器不兼容”。
vector<Orb>::iterator i = orbsList.begin();
while(i != orbsList.end()) {
bool isActive = (*i).active;
if(!isActive) {
orbsList.erase(i++);
}
else {
// do something with *i
++i;
}
}
【问题讨论】: