現在、一連のイテレータをセットから消去しようとしていますが、std::set::erase(iterator) はイテレータ (次のイテレータ) を返す必要があるため、GCC の標準ライブラリは壊れているようですが、GCC では void を返します(どれが標準?)
とにかく私は書きたい:
myIter = mySet.erase(myIter);
しかし、GCCはそれを好まない...では、代わりにこれを書いても安全ですか?
mySet.erase(myIter++);
編集:はい、私は mySet.end(); に対してチェックしています。