(C++) gleiche Variable in 2 Dateien
-
Hallo!
Ich habe einen map, welchen ich in 2 verschiedenen cpp-Dateien verwenden möchte. Wie geht das?
-
Was meinst Du mit map?
-
Also ich habe 2 Dateien: main.cpp und test.cpp
In main.cpp habe ich folgende Deklaration:std::map<string,int> test;
Allerdings möchte ich nun auf diese Variable auch aus der Datei test.cpp heaus zugreifen, allerdings weiß ich nicht wie!!
-
Abgesehen davon, dass das ein standard C++ Problem ist, und globale Variablen (so nennt sich das Teil) grundsätzlich böse sind, hier ein Lösungsvorschlag:
In header a deklarierst du deine std::map. In header b kannst du die gleiche deklaration nochmal schreiben allerdings mit dem Wort "extern" davor. Und schwupps sollt's gehen.
-junix
-
naja ich hoffe newbie hat eine gemeinsame Header (z.B. "boese_globale_vars.h" oder sowas). Darin kann er seine std::map generell als "extern" deklarieren.
Dass in einer der beiden cpp Dateien das Ding aber definiert wird, stört den Compiler nicht...
-
Ab nach C++!