Wert einer Variable in einem Klassenobjekt außerhalb WinMain ändern?



  • Sobalb ich die Variable von input äußerhalb von WinMain ändern will gibt es Compilerfehler - ich muss die Variable aber leider schon vorher ändern ... wie geht das?

    hier das Problem als kuren code:

    #include "stdafx.h"
    ///*
    class spectrum
    {
    public:
    float xpos;
    };
    spectrum input;
    input.xpos=-5.48f;
    //*/

    int APIENTRY WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow )
    {
    /*
    class spectrum
    {
    public:
    float xpos;
    };
    spectrum input;
    input.xpos=-5.48f;
    */
    return 0;
    }



  • "Globale Anweisungen" sind nicht erlaubt. Du kannst das lösen, indem du spectrum einen Konstruktor verpasst, der einen float als Argument bekommt und xpos auf diesen Wert setzt.

    Dann kannst du auf globaler Ebene schreiben:
    spectrum input( -5.48f );



  • Original erstellt von <RIP>:
    *```cpp
    #include "stdafx.h"
    ///

    class spectrum
    {
    public:
    float xpos;
    };
    spectrum input;
    input.xpos=-5.48f;
    //*/

    int APIENTRY WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow )
    {
    /*
    class spectrum
    {
    public:
    float xpos;
    };
    spectrum input;
    input.xpos=-5.48f;
    */
    return 0;

    
      
    }**
    

    Die Wunderbare Welt der Codetags 😉

    Devil



  • @devil81
    Is doch ok, dass keine Codetags verwendet wurden, dann passt das mit dem falschen Forum wenigstens zusammen!



  • Dann verschiebs doch :p



  • OK 😉
    Da es sich einfach nur um ein 'Klassenproblem' handelt, kommt's nach C++


Anmelden zum Antworten