Hilfe - schleierhafte zugriffsverletzung
-
ich hab mir eine klasse geschrieben, die ein geometrisches rechteck darstellt und farbwerte für rahmen und fläche haben soll, weil ich mit den rechtecken mir später was basteln will. alles soweit nicht kompliziert, kompiliert auch ohne murren, aber zur laufzeit gibts ne assertion failure. und da bin ich in diesem fall echt etwas überfordert, weil ich das entsprechende element ja gar nicht dynamisch auf dem heap anlege, sondern es sich um eine simple, stinknormale variable handelt (so denke ich zumindest). und zwar:
class CGeomRect { private: /*...*/ COLORREF crFrameColor; public: /*...*/ void SetFrameColor(int, int, int); /*...*/ }; void CGeomRect::SetFrameColor(int nR = 0, int nG = 0, int nB = 0) { crFrameColor = RGB(nR, nG, nB); // Diese Zeile Verursacht assertion failure. wenn auskommentiert läuft alles }wenn also die methode CGeomRect::SetFrameColor(...) aufgerufen wird (während der initialisierung d. programmes) werd ich von windows rüde angemeckert
Eine Ausnahme (erste Chance) bei 0x7c97cc82 in TWC.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0xf44189e5. Detected memory leaks!und http://people.freenet.de/studio37/assertionfailure.jpg
also hätte ich da jetzt wild dynamisch speicher angefordert, würd ichs ja verstehen. aber in diesem fall ist es mir einfach zu hoch, was da passiert. hat vielleicht jemand eine idee?
mfg & danke
-
ok, wie so oft musste ich nur mal mein problem formulieren um die lösung zu sehen. hat sich erledigt...
danke - weitermachen!
mod, bitte den thread hier zumachen & in' müll, danke :p
-
wo war denn der fehler
-
Er hat einen Objekt Zeiger gehabt, der NULL war oder nict initialisiert war. Dann hat er die Member Funktion aufgerufen.