Cómo usar extern para compartir variables entre archivos C++?
¡Hola! Empecé a estudiar C++ y estoy tratando de dividir mi programa en varios archivos. Tengo tres archivos: main.cpp, functions.cpp y functions.h. En functions.h declaré una variable global int global_counter = 0; y varias funciones. En functions.cpp definí esas funciones, que modifican global_counter. En main.cpp incluyo functions.h e intento usar global_counter, pero el compilador da el error "multiple definition of `global_counter`". Escuché algo sobre la palabra clave extern, pero no entiendo completamente cómo aplicarla correctamente. ¿Puedes explicarlo con un ejemplo simple? Aquí está mi código actual:
// functions.h
#ifndef FUNCTIONS_H
#define FUNCTIONS_H
int global_counter = 0;
void increment();
void print_counter();
#endif
// functions.cpp
#include "functions.h"
#include
void increment() { global_counter++; }
void print_counter() { std::cout << global_counter; }
// main.cpp
#include "functions.h"
int main() {
increment();
print_counter();
}
No answers yet.
Inicia sesión para dejar una respuesta
Blogs