nochmal std::list
-
Hallo!
NOhcmal ne kurze Frage zu list.
std::list::end() liefert doch einen Zeiger auf das nach dem letzten folgende Element, oder?
Wie komm ich jetzt eins nach vorne, also auf das letzte? Habs erstmal so versucht, kommt Aber c000005 Fehlerm_ListAusgabe.erase(m_listAusgabe.end()--);
aber so klpaat es nciht
-
Versuche es einmal so:
m_ListAusgabe.erase(--m_listAusgabe.end());
Siehe auch: Unterschied zwischen i++ und ++i
-
Nein, end() darf man so nicht verwenden.
Am Besten laesst man end() immer unangetast - denn end() 'zeigt' nie auf einen gueltigen Wert.
Der 'Trick' ist: man verwendet rbegin() stattdessen
Denn rbegin() 'zeigt' auf das letzte Element.