free() Problem
-
Hi !
Ich besorge mir mit malloc() Speicher beim Schließen des Programmes rufe ich free() auf und es kommt eine Fehlermeldung z.B. was mit Benutzerhaltepunkt oder unbehandelte Ausnahme aber der Puffer hat einen Wert.
Das Vertstehe ich nicht.
-
Ohne Code können wir dir nicht helfen.
btw: falsches forum, malloc/free ist ANSI-C.
-
ich denke du fragst effizienter, wenn du deinen code und die fehlermeldung beschreibst. Ich vermute dass du nicht beachtet hast, der funktion free als parameter einen zeiger auf den zu löschenden speicher zu übergeben.
-
cd9000 sagte:
"btw: falsches forum, malloc/free ist ANSI-C."--- stimm ich zu. In ´C++ heißt das immer noch new / delete[]
-
bestimmt war der bei malloc zurückgegebene Speicher NULL. Und bei free von NULL
stürzt dein Prog ab.
-
"Benutzerhaltepunkt" ist manchmal ein Anzeichen dafür, dass man einen Speicherblock auf einem anderen Heap freigibt, als man ihn allokiert hat.
@cpp_guy:
Benutzt du DLLs oder so was?
-
breakermaker. schrieb:
cd9000 sagte:
"btw: falsches forum, malloc/free ist ANSI-C."--- stimm ich zu. In ´C++ heißt das immer noch new / delete[]
Leider falsch. malloc/free heißt auch in C++ malloc/free.
Das Posting kommt ursprünglich aus dem Winapi-Forum, und wurde verschoben, weil es sich um ein reines Sprachproblem handelte, was nichts mit Windows an sich zu tun hat.
-
Habs jetzt hinbekommen. Mit new und delete funktioniert es.