Fehler NACH Programmende unter VS .Net/C++
-
Hi,
wie der Titel schon sagt bekomme ich folgende Fehlermeldung NACH Programmende (Windows-Konsolenprogramm): Windows(XP) hat ein Problem festgestellt BLABLUBB etc. pp.
Wie es aussieht hängt das Problem damit zusammen, dass ich eine Klasse X mit einer statischen Variable benutze, die Instanz von X jedoch dynamisch auf dem Heap angelegt wird (per new). Nehme ich die statische Variable sowohl aus der Klassendeklaration und der Definition heraus (.cpp) schmeisst das Programm keinen Fehler mehr.
Die Instanz von X wird quasi als Letzte Anweisung in Main deleted. Kommt der da vielleicht mit seinem Static Member nicht zurande?.h ... static CTimeManager m_TimeManager; ... .cpp ... CTimeManager CGame::m_TimeManager; // Std Ctor ...Weiß einer warum?
Danke,
O.
-
Observer schrieb:
Wie es aussieht hängt das Problem damit zusammen, dass ich eine Klasse X mit einer statischen Variable benutze, die Instanz von X jedoch dynamisch auf dem Heap angelegt wird (per new).
Glaube ich ehrlich gesagt nicht. Der static Member und die Instanz sind rein sprachlich gesehen ja erstmal unabhängig voneinander.
Ich könnte mir vielmehr vorstellen, dass du mit m_TimeManager irgendwas machst, zB beim dtor, was letztendlich die Probleme verursacht. Dazu müsstest du aber mehr Code posten. Interessant wäre erstmal der default ctor und der dtor von CTimeManager.