Veröffentlicht 17. Januar 200322 j 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
17. Januar 200322 j Diese Meldung ist normalerweise ein Zeichen dafür, dass du über das Ende des reservierten Speichers hinaus schreibst.
17. Januar 200322 j Autor 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.