Primeramente hola.
Ando desarrollando un progama en c++ pero tengo un problema con una cabecera y lo demostraré con un ejemplo simple y claro que no viene del programa que desarrollo, para que se entienda mejor :).
Archivo main.cpp
Cita: #include <cstdlib>
#include <iostream>
#include "globalVars.h"
using namespace std;
int main ()
{
x=10;
multiplicarX();
cout<<"equis multiplicada ="<<x;
return 0;
}
Archivo globalVars.h
Cita: #include <cstdlib>
#include <iostream>
int x;
int multiplicarX();
Archivo operaciones.cpp
Cita: #include <cstdlib>
#include <iostream>
extern int x;
int multiplicarX()
{
x=x*2;
}
Como se ve en el archivo operaciones.cpp utilizo la variable x (declarada en globalVars.h) pero utilizando extern. Mi problema es que en el programa que desarrollo tendía que poner infinidad de extends. pensé en agregar #include "globalVars.h" a operaciones.cpp pero me salta un error por qué se re define todo lo de #include "globalVars.h" como consecuencia de haberla llamado antes en main.cpp.
¿Qué puedo hacer?