Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/07/2012, 05:09
Fw190
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 6 meses
Puntos: 73
Respuesta: pequeño problema con cabecera en c++

Entiendo que esa x es una misma variable que debe ser conocida por varios módulos de programa dentro del mismo proyecto. Si es así, entonces:

1. Declárala como extern en el archivo globalVars.h.

2. En alguno de los módulos que componen el proyecto deberá estar declarada normalmente. Esta declaración deberá ser posterior a #include "globalVars.h"

3. Una pequeña sugerencia: Cuando hagas cosas de este tipo, da a esas variables compartidas un nombre un poco más descriptivo que, simplemente, x.

Por ejemplo:

Archivo globalVars.h:

Código C++:
Ver original
  1. // Estos dos #include no los necesitas aquí si los vas a incluir en los demás módulos de programa
  2. #include <cstdlib>
  3. #include <iostream>
  4.  
  5. extern int x;           // Aquí es donde declaras x como extern
  6.  
  7. int multiplicarX();

Archivo Operaciones.cpp:

Código C++:
Ver original
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include "globalVars.h"
  4.  
  5. // extern int x ya está declarada en globalVars.h
  6.  
  7. int multiplicarX()
  8. {
  9. x=x*2;
  10. }

Archivo OtroArchivo.cpp:

Código C++:
Ver original
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include "globalVars.h"
  4.  
  5. // Aquí es donde implementas realmente la variable x
  6. int x;
  7.  
  8. ...