Avatar ·

Wie verwende ich extern zum Austausch von Variablen zwischen C++-Dateien?

Hallo! Ich habe angefangen, C++ zu lernen, und versuche, mein Programm in mehrere Dateien aufzuteilen. Ich habe drei Dateien: main.cpp, functions.cpp und functions.h. In functions.h habe ich eine globale Variable int global_counter = 0; und einige Funktionen deklariert. In functions.cpp habe ich diese Funktionen definiert, die global_counter ändern. In main.cpp binde ich functions.h ein und versuche, global_counter zu verwenden, aber der Compiler gibt den Fehler "multiple definition of `global_counter`" aus. Ich habe etwas über das Schlüsselwort extern gehört, verstehe aber nicht ganz, wie ich es richtig anwenden soll. Könnt ihr es an einem einfachen Beispiel erklären? Hier ist mein aktueller Code: // functions.h #ifndef FUNCTIONS_H #define FUNCTIONS_H int global_counter = 0; void increment(); void print_counter(); #endif // functions.cpp #include "functions.h" #include