Ver Mensaje Individual
  #9 (permalink)  
Antiguo 06/02/2004, 13:50
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Creo que me he perdido.

Creo que el problema es que quieres tener unas variables que sean accesibles desde main y desde el otro cpp, y que las has metido en el .h. Y ese .h lo has incluido en los 2 cpp. Asi cada cpp compilado (cada obj) tiene su propia variable, una cada uno, llamadas igual. Y es a la hora de juntarlos los obj en el linkador, que se encuantra con 2 varaibles distinas con el mismo nombre.

Esto seria la explicacion "teorica" (si es que no se me ha olvidado el C/C++).

Creo recordar que esto se solucionaba con la palabrabra extern el la declaracion de la variable en el .h y definiendo en uno solo de los cpp.

En el .h
Código:
extern int variable;
en el cpp:
Código:
include .h

int variable;

variable=30;
en el main:
Código:
include .h

printf(variable);
Seria algo asi la logica.

Pero con esto estarias usando variables globales, que son el demonio (solo superadas por el GOTO). Asi que lo "correcto" seria replantearte el uso de variables globales.

Saludos.

PD: El extern creo que es de C. Pero comoC++ es una evolucion de C, supongo que seguira funcionando.

PD2: Siempre que han asustado los interfaces de directx. Me sentia mas comodo con OpenGL y su forma de hacer en C. De esto hace 3 o 4 años.
__________________
Josemi

Aprendiz de mucho, maestro de poco.