Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » doppelt verkettete Liste: vorhergehenden Knoten löschen?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
31.03.2011, 18:05 Uhr
bandchef



Hi Leute!

Ich hab hier eine Funktion die mir den vorhergehenden Knoten meiner Liste löschen soll. Leider tut sie das nicht richtig. Compiler-Fehlermeldung bekomme ich auch nicht, da sich das Programm nämlich öffnen lässt, aber dann an der Stelle der Zeile 13 abkackt.


Hier meine Funktion:

void *deleteBefore(node *list)
{
if(!list) //übergebenes (Start-)Element gültig?
{
return NULL;
}

if(!list->previous) //vorhergehendes Element gültig?
{
return NULL;
}

node *second = list->previous->previous; //Element nach dem nächsten Auswählen
delete list->previous; //nächstes Element freigeben
list->previous = second; //nächstes Element neu verknüpfen

return second;
}


Ich hab durch schrittweises kompilieren herausgefunden, dass der Fehler hier irgendwo liegen muss: "list->previous->previous;".

Ich weiß nur nicht wo der Fehler ist. Könnt ihr mir helfen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
31.03.2011, 19:45 Uhr
ao

(Operator)


Was du zeigst, sieht richtig aus. Aber du schreibst im Titel "doppelt verkettete Liste" - wo behandelst du denn die next-Pointer?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: