// 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ベクトルイテレータは、互換性のない
イテレータを消去すると、そのイテレータが無効になります。 Mahmoudが応答したように、消去の呼び出しから返されたイテレータを格納する必要があります – EdChum