White_Shadow
2003-11-20, 21:30:48
Hallo,
isch hab da mal ne Frage ;). Also wenn ich ne Liste aus der STL angelegt habe und jetzt durch die Liste laufe (vorwärts wie rückwerts) dabei aber zwischendurch mal Elemente löschen will dann bekomme ich immer speicher zugriffsfehler bzw. immer Elemente die nicht (mehr) in der Liste sind. Kann es sein das das so net geht. Mal als beispiel:
l ist meine Liste
t mein iterator
Code-Auszug:
for(int i=0; i<10; i++,t++)
{
if(i%3==0)
{
l.erase(t);
t--;
//das geht auch net
// list<T>::iterator tmp=t;
//t--;
//l.erase(tmp);
/////////
}
}
Muss man den Iterator irgend wie upaten? oder gibts sonst irgendwie ne möglich keit so was zumachen, ansonsten müsste ich müsste ich mir extra noch nen Feldanlegen was ich schon bearbeitet habe und wo ich mich grad in der Liste befinde das is aber nen bissel umständlich!
thx im vorraus
White Shadow
isch hab da mal ne Frage ;). Also wenn ich ne Liste aus der STL angelegt habe und jetzt durch die Liste laufe (vorwärts wie rückwerts) dabei aber zwischendurch mal Elemente löschen will dann bekomme ich immer speicher zugriffsfehler bzw. immer Elemente die nicht (mehr) in der Liste sind. Kann es sein das das so net geht. Mal als beispiel:
l ist meine Liste
t mein iterator
Code-Auszug:
for(int i=0; i<10; i++,t++)
{
if(i%3==0)
{
l.erase(t);
t--;
//das geht auch net
// list<T>::iterator tmp=t;
//t--;
//l.erase(tmp);
/////////
}
}
Muss man den Iterator irgend wie upaten? oder gibts sonst irgendwie ne möglich keit so was zumachen, ansonsten müsste ich müsste ich mir extra noch nen Feldanlegen was ich schon bearbeitet habe und wo ich mich grad in der Liste befinde das is aber nen bissel umständlich!
thx im vorraus
White Shadow