Array in Klasse verwenden



  • hi !

    Hab in meiner .h ein Array deklariert

    private:
        static int einArray[];
    

    welches ich dann im Konstruktor der Klasse intialisiere

    EineKlasse::EineKlasse()
    {
        int einArray[] = {     0200,0100,040,020,010,04,02,01 };
    }
    

    Kompiliert ohne Fehler allerdings bekomme ich folgenden Linker Errors:

    error LNK2001: unresolved external symbol "private: static int * EineKlasse::einArray" (?einArray@DesEncryption@@0PAHA)
    

    Hab ich da was übersehen ?!

    Danke und mfg

    leon



  • Ja, Du legst im Konstruktor ein neues Array an, welches am Ende des Konstruktors verworfen wird (normale Lebensdauer). Woher soll der Compiler auch wissen, dass Du das nicht möchtest?

    Statische Variablen initialisiert man ausserhalb des Konstruktors:

    int EineKlasse::einArray[] = {...};
    


  • Genau das wars !

    Danke vielmals !

    mfg leon22


Anmelden zum Antworten