Guybrush Threepwood Geschrieben 17. Januar 2003 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 17. Januar 2003 Teilen Geschrieben 17. Januar 2003 Diese Meldung ist normalerweise ein Zeichen dafür, dass du über das Ende des reservierten Speichers hinaus schreibst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 17. Januar 2003 Autor Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.