und dann rufe ich das ganze in der Main folgendermaßen auf:
Code:
int main (int argc, char** argv )
{
GLRenderer *renderer =new GLRenderer();
renderer->Loop();
}
Es öffnet sich für den Bruchteil einer Sekunde lang ein fenster, man sieht aber auch nix. Danach ist nur noch die Konsole mit der folgenden Meldung offen:
Zitat:
Process returned -11 <0xFFFFFFF5>execution time : 0.250s
Hat da jemand vielleicht eine Idee? Aus irgendeinem Grund geht auch der Debugger bei mir nicht, ich google schon seit tagen, woran das liegt, bekomms aber nicht raus ^^
Registriert: Sa Jan 01, 2005 17:11 Beiträge: 2068
Programmiersprache: C++
Zeile 17, 27 & 35.
Du überschreibst deine Variablen indem du neue einführst. Von daher werden die Variablen der Klasse gar nicht gesetzt und im Loop agierst du wild im Speicher was zum Glück zum Abschuss führt.
Hey ionos das mit der Neudeklaration der Variablen war der Fehler! jetzt funktioniert es
Aber was meinst du mit der Speicherstrangualtion im Loop? Also es funktioniert ja und der Code kommt so ja direkt aus dem Wizard. Wo sind da die fehler?
Registriert: Sa Jan 01, 2005 17:11 Beiträge: 2068
Programmiersprache: C++
Naja, du hast deinen Funktionen undefinierte Variablen gegeben. In Delphi sind sie nil, in C++ hängt es vom Kompiler ab.
Und wenn er auf schnell ausgelegt ist anstatt auf brav, dann zeigt screen noch auf einen Speicherblock der noch alte Daten enthält bzw. auf einem Bereich der deinem Programm nicht zugewiesen ist. Dann können schöne Effekte entstehen.
Ich hoffe im Destruktor steht nichts wichtiges, weil der für renderer NIE aufgerufen wird. In C++ sollte man vorwiegend mit Stack-Objekten arbeiten. Das ist schneller und einfacher.
new benutzt man, wenn ein Objekt über den Funktionsscope hinaus erhalten bleiben soll(bei dir nicht der Fall) oder wenn das Objekt zu groß für den Stack ist.
Besser wäre:
Code:
int main (int argc, char** argv )
{
GLRenderer renderer;
renderer.Loop();
}
_________________ __________
"C++ is the best language for garbage collection principally because it creates less garbage." Bjarne Stroustrup
Zuletzt geändert von Pellaeon am Di Jan 20, 2009 09:13, insgesamt 2-mal geändert.
Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.