Avatar ·

Comment utiliser extern pour partager des variables entre fichiers C++ ?

Bonjour ! J'ai commencé à apprendre le C++ et j'essaie de diviser mon programme en plusieurs fichiers. J'ai trois fichiers : main.cpp, functions.cpp et functions.h. Dans functions.h, j'ai déclaré une variable globale int global_counter = 0; et plusieurs fonctions. Dans functions.cpp, j'ai défini ces fonctions qui modifient global_counter. Dans main.cpp, j'inclus functions.h et j'essaie d'utiliser global_counter, mais le compilateur génère une erreur "multiple definition of `global_counter`". J'ai entendu parler du mot-clé extern, mais je ne comprends pas complètement comment l'utiliser correctement. Pouvez-vous expliquer avec un exemple simple ? Voici mon code actuel : // functions.h #ifndef FUNCTIONS_H #define FUNCTIONS_H int global_counter = 0; void increment(); void print_counter(); #endif // functions.cpp #include "functions.h" #include