我正在尝试执行以下操作:
myvec 是 Couple 对象的向量(每个对象由 EntityA 和 EntityB 组成)。我正在尝试删除重复的夫妻。无论如何,有时以下代码会因超出范围而崩溃it2。条件很好,迭代器似乎不是
if(myvec.size()>1)
for(vector<Couple>::iterator it1 = myvec.begin(); it1+1 !=myvec.end();){
for(vector<Couple>::iterator it2 = it1+1; it2 !=myvec.end();){
if((it1->EntityA!=it2->EntityA&&it1->EntityA!=it2->EntityB)||
(it1->EntityB!=it2->EntityA&&it1->EntityB!=it2->EntityB)){
it2++;
}
else{
myvec.erase(it2);
}
}
it1++;
}
任何解决方案/替代方案?