Hallo habe folgendes Problem, in meiner Liste bekomme ich wenn ich Werte aus dem 1. Listenelement übergeben bzw. zuweisen will jedesmal einen Speicherfehler. Ausserdem hab ich Probleme(ebenfalls Speicherfehler) beim Löschen des ersten Listenelements, ich hab keine Ahnung woran das liegt.
Hier die Klassendefinition der Liste:
C++:
class AList{ // Definition der Aktivitaeten Listenklasse
private:
Aktivitaet* firsta; // Anfang der List Aktivitaet* lasta; // Ende der List
Aktivitaet* front() const{return firsta;} // Gibt das erste Element zurück
void apush(string name); // Aktivität einfügen void apop(string akt); // Aktivität löschen void display(); // Liste der Aktivitäten ausgeben };
#endif
Hier die Definition der Methoden, wo ich Probleme habe:
C++:
void Projekt::setdauer(){ Datum min; Datum max; Datum tmp; AList liste; liste = aliste; Aktivitaet* akt; akt = liste.front(); min = akt->getvon(); max = akt->getbis(); while (akt != NULL){ tmp = akt->getvon(); if ((min.getyear() < tmp.getyear()) || ((min.getmonth() < tmp.getmonth()) && (min.getyear() == tmp.getyear())) || ((min.getday() < tmp.getday()) && (min.getmonth() == tmp.getmonth()) && min.getyear() == tmp.getyear())){ akt = akt->getnexta(); }else{ min = tmp; } akt = akt->getnexta(); } start = min; ende = max; }
Und hier noch wie ein Element in die Liste eingefügt wird:
C++:
if (lasta == NULL) // Wenn Zeiger Last = NULL ist firsta = lasta = a1; // first = last = a1 else// sonst lasta->nexta = a1, lasta = a1; // next-Zeiger von last auf a1 und last = a1 // am Ende der Liste einfügen