// Erase the missing items
vector<AlignedFDRData>::size_type StandardNum = FDRFreq.at(0).fData.size();
vector<AlignedFDRData>::iterator iter = FDRFreq.begin();
while (iter != FDRFreq.end()){
if(iter->fData.size() < StandardNum){
FDRFreq.erase(iter);
}
else{
++iter;
}
}
Эта часть используется для удаления элемента вектора FDRFreq, в котором длина данных меньше, чем стандартное количество, но отладки утверждение не удалось: вектор итераторов несовместим. Я - зеленая рука в C++ STL, спасибо за вашу любезную помощь.C++ STL вектор итераторы несовместимый
Вы аннулируете свой итератор, если вы «сотрите», подумайте об этом. вы должны сохранить итератор, который возвращается из вызова, чтобы стереть, как ответил Махмуд. – EdChum