Avatar ·

Como usar extern para compartilhar variáveis entre arquivos em C++?

Olá! Sou um desenvolvedor C++ iniciante e me deparei com um problema: tenho um projeto composto por vários arquivos e preciso usar uma variável comum em diferentes arquivos .cpp. Tentei declarar a variável em um arquivo e usá-la em outro, mas o compilador gera o erro "undefined reference" ou "multiple definition". Aqui está um exemplo simplificado: tenho o arquivo `main.cpp`: ```cpp #include #include "functions.h" int main() { global_var = 5; print_var(); return 0; } ``` O arquivo `functions.h`: ```cpp #ifndef FUNCTIONS_H #define FUNCTIONS_H int global_var; // declaração da variável void print_var(); #endif ``` E `functions.cpp`: ```cpp #include #include "functions.h" void print_var() { std::cout << "global_var = " << global_var << std::endl; } ``` Ao tentar compilar isso (por exemplo, com `g++ main.cpp functions.cpp -o program`), recebo o erro "multiple definition of `global_var`". Ouvi diz