CStrin in Structur kopieren
-
Hi Leute!
Ich habe folgende Strucktur
struct Eingabe { struct Eingabe * next; CString Name; double Saugschlauch; double Promi; double Schrauben; double Eierlauf; double Schubkarre; double Wasserbomben; double Mastwurf; };und möchte in der folgen methode den übergebenen CString in die Structur kopieren dabei stürtz aber mein Prog immer ab.
int element_hinzufuegen_Eingabe (CString Name, double Saugschlauch, double Promi , double Schrauben , double Eierlauf , double Schubkarre , double Wasserbomben , double Mastwurf) { struct Eingabe * ptr; if ((ptr = (struct Eingabe *)malloc (sizeof (struct Eingabe))) == NULL) return 1; else { ptr->Name = Name; ptr->Saugschlauch = Saugschlauch; ptr->Promi = Promi; ptr->Schrauben = Schrauben; ptr->Eierlauf = Eierlauf; ptr->Schubkarre =Schubkarre; ptr->Wasserbomben =Wasserbomben; ptr->Mastwurf = Mastwurf; ptr->next = start1_pointer; start1_pointer = ptr; return 0; } }Kann mir einer von euch vieleicht helfen?????
MfG
Blind
-
Struct Eingabe enthält eine nichttriviale Klasse als Element. Dein malloc weiss aber nichts von Konstruktoren und dergleichen -> in deinem Speicher steht "Müll" an der Stelle wo die Verwaltungsdaten von CString stehen sollten. Wenn Du Deine Zuweisung machst, versucht CString vermutlich sich dem "Müll" zu entledigen, und stürzt dabei ab.
Lösung: Nimm new/delete.