Problem bei einer Vektorklasse



  • Hallo,

    Ich habe eine Vektorklasse geschrieben. Alles läuft soweit ganz gut. Aber wenn ich bei diversen Rechenoperationen die privaten Variablen verwenden will, geht Einiges schief.

    In meiner .cpp Datei steht z.B. folgendes:

    Vec2D::Vec2D( int x, int y )
     {
         m_X = x;
         m_Y = y;
    
         int a = m_X;
     }
    

    Ich habe mir mit dem Debugger 'a' angeguckt und bekomme einen hohen negativen Wert, obwohl in m_X z.B. 5 steht.

    Hier ist nochmal der Header: http://pastebin.com/ZrfJhfmp

    Vielleich mache ich auch nur einen schlimmen Anfängerfehler, aber ich finde ihn nicht.
    Hat vielleicht jemand eine Idee?

    mfg,

    Daniel



  • Sicher, dass du den Wert von a im Debugger angeschaut hast, nachdem du a den Wert m_X zugewiesen hast? Ich sehe da sonst nichts was diesen Fehler verursachen könnte.
    Was kommt den bei

    Vec2D::Vec2D( int x, int y )
     {
         m_X = x;
         m_Y = y;
    
         int a = m_X;
         std::cout << a << std::endl;
     }
    

    raus?

    PS:
    - Besser <cmath> anstatt <math.h> verwenden.
    - Schau dir mal Member Initializer Lists an.



  • Agreon schrieb:

    Ich habe mir mit dem Debugger 'a' angeguckt und bekomme einen hohen negativen Wert, obwohl in m_X z.B. 5 steht.

    Bist du vorher auch über die "int a =" Zeile drübergesteppt?
    Wenn der "Cursor" AUF der Zeile steht wurde sie nämlich noch nicht ausgeführt...

    Oder debuggst du vielleicht nen Release-Build?



  • Ok eben ist wegen meinem Kopf beinahe der Tisch kaputt gegangen.
    😡 😡 😡 😡

    Dankeschön.


Anmelden zum Antworten