Variable in einer Header Datei deklarieren?



  • Es geht um Folgendes:
    Ich habe zwei .cpp Dateien. Diese sollen auf eine gemeinsame Variable zugreifen. Wenn ich die Variable in einer Headerdatei deklariere, dann bekomme ich nen Haufen Fehlermeldungen. Ein Schutz gegen doppeltes Includen à la #ifdef bringt auch nichts. Wenn ich die Variable als extern deklariere bekomme ich auch einen Fehler.
    Lange Rede, kurzer Sinn: Gibt es eine Möglichkeit eine Variable von zwei .cpp Dateien nutzen zu lassen?



  • Hallo,

    mit extern muesste es eigentich gehn. Hast du denn Variable in einer der .cpp
    Dateien deklariert? Das darfst du trotz extern Deklaration nicht vergessen.

    mfg
    v R



  • Du musst es in einer Header-Datei deklarieren und in einer Code-Datei instanziieren. Also:

    //globals.h
    extern int meine_globale_variable;
    
    //globals.cpp
    int meine_globale_variable
    

    Dann kannst du nachher in einer anderen cpp-Datei die globals.h includen und die Variable benutzen. Der Linker bindet das dann an die Variable aus der globals.cpp (bzw. zu dem Zeitpunkt globals.o, oder wie das bei deinem Betriebssystem halt heißt).


Anmelden zum Antworten