Cómo usar extern para compartir variables entre archivos en C++?
¡Saludos! Soy un desarrollador principiante de C++ y me encontré con un problema: tengo un proyecto que consta de varios archivos y necesito usar una variable compartida en diferentes archivos .cpp. Intenté declarar la variable en un archivo y usarla en otro, pero el compilador arroja un error "undefined reference" o "multiple definition".
Aquí hay un ejemplo simplificado: tengo un archivo `main.cpp`:
```cpp
#include
#include "functions.h"
int main() {
global_var = 5;
print_var();
return 0;
}
```
El archivo `functions.h`:
```cpp
#ifndef FUNCTIONS_H
#define FUNCTIONS_H
int global_var; // declaración de variable
void print_var();
#endif
```
Y `functions.cpp`:
```cpp
#include
#include "functions.h"
void print_var() {
std::cout << "global_var = " << global_var << std::endl;
}
```
Al intentar compilar esto (por ejemplo, con `g++ main.cpp functions.cpp -o program`) obtengo un error "multiple definition of `global_var`". He oído
No answers yet.
Inicia sesión para dejar una respuesta