Löschen final member von std::set

Wie lösche ich das Letzte Element aus einem set?

Beispiel:

set<int> setInt;
setInt.insert(1);
setInt.insert(4);
setInt.insert(3);
setInt.insert(2);

Wie kann ich löschen 4 aus setInt? Ich habe versucht, so etwas wie:

 setInt.erase(setInt.rbegin());

aber ich erhielt eine Fehlermeldung.

  • Doh, hast Recht, ich vergaß Satz nicht random-access-iterator. Verwenden setInt.erase(std::prev(setInt.end()));
Schreibe einen Kommentar