globale variablen



  • hallo,

    ich würde gerne variablen bzw. objekte dem ganzen projekt zur verfügung stellen in dem ich sie in eine header schreibe und wo sie benötigt werden die header include.
    meine header heißt Globals.h

    String ^s;
    

    Fehlermeldung lautet:

    e:\c_progs\bbk3pitplaner\bbk3pitplaner\Globels.h(7) : error C3145: "s": Eine globale oder statische Variable darf nicht den verwalteten Typ "System::String ^" aufweisen.
    Eine globale oder statische Variable oder ein Member eines systemeigenen Typs, der auf Objekte im gc-Heap verweist, kann nicht deklariert werden.



  • Die Fehlermeldung ist doch eigentlich selbsterklärend: Globale Variablen und die .NET Speicherverwaltung vertragen sich nicht. Und globale Variablen sind sowieso (fast) immer ein Zeichen für schlechtes Design.



  • Mach es so:

    public ref class MyGlobalVars
    {
      public: static String ^GlobalVar1;
    };
    


  • yo danke klappt bestens.


Anmelden zum Antworten