Guybrush Threepwood Geschrieben 17. Januar 2003 Geschrieben 17. Januar 2003 Hi, woran kann es eigentlich liegen, dass beim löschen von reserviertem Speicher Fehler auftreten? BSP.: char* lpPointer; lpPointer = new char[10]; strcpy(lpPointer,"Test"); ... ... ... delete lpPointer; //Fehlermeldung "Damage: after normal Block (#55) at 0x00... [/PHP] Mir ist es nämlich schon öfters passierts dass ich so einen Pointer nicht wieder löschen konnte, obwohl der Inhalt noch gültig war. Gruß Guybrush Zitieren
Klotzkopp Geschrieben 17. Januar 2003 Geschrieben 17. Januar 2003 Diese Meldung ist normalerweise ein Zeichen dafür, dass du über das Ende des reservierten Speichers hinaus schreibst. Zitieren
Guybrush Threepwood Geschrieben 17. Januar 2003 Autor Geschrieben 17. Januar 2003 Ok, ich hab mir meine Speicherreservierung nochmal angeschaut und den Fehler gefunden. Der benötigte Speicher wurde mit strlen() (das ja den abschließenden NULL Character nicht mitzählt) ermittelt und ich hab vergessen +1 zu schreiben. Dummer Fehler, der mir anscheinend schon öfters passiert ist:rolleyes: Danke Klotzkopp! Gruß Guybrush Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.