Guten Abend.
Ich habe heute ein kleines Programm geschrieben, womit ich den Umgang mit der SDL üben wollte.
Klappt soweit auch alles, doch am Ende der Mainfunktion gebe ich alle Zeiger mit delete frei, die ich dort mittels new erstellt habe. Dies hat allerdings eine Fehlermeldung zur Folge, die wie folgt aussieht:
Windows hat einen Haltepunkt in bla.exe ausgelöst.
Dies kann auf eine Beschädigung des Heaps zurückzuführen sein, die auf ein Problem in bla.exe oder in einer der geladenen DLLs hinweist.
Dies kann auch darauf zurückzuführen sein, dass der Benutzer F12 drückt, während bla.exe den Fokus hat.
Weitere Analyseinformationen finden Sie möglicherweise im Ausgabefenster.
Hiernach klicke ich auf "Unterbrechen" und ein weiteres Fenster erscheint:
Es sind keine Symbole für Aufruflistenrahmen geladen. Der Quellcode kann nicht angezeigt werden.
Dort klicke ich nun auf "OK" und beende das Programm über die Entwicklungsumgebung Visual c++.
Erwähnenswert ist noch, dass diese erste Fehlermeldung erst nach manuellem Schließen des Konsolenfensters erscheint, was ich auch komisch finde, da sich normalerweise das Konsolenfenster nach dem schließen des SDL-Fensters automatisch schließt.
Hier noch meine Mainfunktion:
Die Fehlermeldung erscheint nach Ausführung der Zeile 39. Habe die delete-befehle auch schon ausgetauscht, liegt also nicht explizit an "delete(pTurm)".
Danke Allen schon mal im Vorraus!
MFG XoR_1337
Ich habe heute ein kleines Programm geschrieben, womit ich den Umgang mit der SDL üben wollte.
Klappt soweit auch alles, doch am Ende der Mainfunktion gebe ich alle Zeiger mit delete frei, die ich dort mittels new erstellt habe. Dies hat allerdings eine Fehlermeldung zur Folge, die wie folgt aussieht:
Windows hat einen Haltepunkt in bla.exe ausgelöst.
Dies kann auf eine Beschädigung des Heaps zurückzuführen sein, die auf ein Problem in bla.exe oder in einer der geladenen DLLs hinweist.
Dies kann auch darauf zurückzuführen sein, dass der Benutzer F12 drückt, während bla.exe den Fokus hat.
Weitere Analyseinformationen finden Sie möglicherweise im Ausgabefenster.
Hiernach klicke ich auf "Unterbrechen" und ein weiteres Fenster erscheint:
Es sind keine Symbole für Aufruflistenrahmen geladen. Der Quellcode kann nicht angezeigt werden.
Dort klicke ich nun auf "OK" und beende das Programm über die Entwicklungsumgebung Visual c++.
Erwähnenswert ist noch, dass diese erste Fehlermeldung erst nach manuellem Schließen des Konsolenfensters erscheint, was ich auch komisch finde, da sich normalerweise das Konsolenfenster nach dem schließen des SDL-Fensters automatisch schließt.
Hier noch meine Mainfunktion:
Code:
#include <sdl.h>
#include "Klassen.hpp"
using namespace std;
int main(int argc, char *argv[])
{
//Game zum laufen bringen
bool GameRun = true;
//Framework initialisieren
g_pFramework->Init(800, 600, 16, false, "Versuch");
//Hintergrundbild setzen
g_pFramework->SetBackground("Background.bmp");
//Event initialisieren
CEvent *pEvent = new CEvent;
//Turm erstellen
CTurm *pTurm = new CTurm(600.0, 75.0);
//Monster erstellen
CMonster *pMonster = new CMonster(200.0, 75.0);
//GAME LOOP
//
while(GameRun)
{
GameRun = pEvent->LookForEvent();
g_pFramework->Flip();
}
g_pFramework->Quit();
delete(pTurm);
delete(pMonster);
delete(pEvent);
g_pFramework->Del();
return(0);
}
Die Fehlermeldung erscheint nach Ausführung der Zeile 39. Habe die delete-befehle auch schon ausgetauscht, liegt also nicht explizit an "delete(pTurm)".
Danke Allen schon mal im Vorraus!
MFG XoR_1337