Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Error redefinicion variables

Estas en el tema de Error redefinicion variables en el foro de C/C++ en Foros del Web. Hola estoy programando en c++ y tengo un proyecto con varios módulos. Quiero declarar una variable para usarla en todos los módulos, es decir, que ...
  #1 (permalink)  
Antiguo 01/04/2008, 10:02
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 3 meses
Puntos: 0
Error redefinicion variables

Hola estoy programando en c++ y tengo un proyecto con varios módulos. Quiero declarar una variable para usarla en todos los módulos, es decir, que todos usen la misma variable. Esa variable es una tabla de 50 posiciones que contiene registros, ¿está bien esta declaracion?


typedef struct {
char lexema[20];
int compLexico;
int nveces;
}STYPE;

extern STYPE tablaSimbolos[50];

Me sale el error:

c:\p2\practica 2\simbolos.h(5) : error C2371: 'STYPE' : redefinition; different basic types


¿qué quiere decir? yo la variable sólo la declaro en un sitio, simbolos.h, pero como la tienen que usar en varios módulos ese simbolos.h lo incluyo en los módulos que lo necesitan. Espero podais ayudarme.

Muchas gracias
  #2 (permalink)  
Antiguo 02/04/2008, 21:30
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 2 meses
Puntos: 1360
Re: Error redefinicion variables

La sitaxis es:

Struct NOMBRE_DE_MI_ESTRUCTURA {
declaracion de mis variables;
...
} [Mis_Variables];

Quedaria:
struct ESTRUCTURA{
char lexema[20];
int compLexico;
int nveces;
} variable;

Pequeño tutorial http://www.itq.edu.mx/vidatec/maestr...torial/est.htm
  #3 (permalink)  
Antiguo 07/04/2008, 12:23
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Error redefinicion variables

Gracias, pongop lo que dices y me sigue saliendo el mismo error, asi que creo que estará en otro lado..pero no consigo saber dónde..
  #4 (permalink)  
Antiguo 07/04/2008, 13:15
Avatar de aloqui  
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 5 meses
Puntos: 24
Re: Error redefinicion variables

Es un poco chapuza utilizar variables globales para varios módulos, pero en fin ...

Por el texto del error, parece que el tipo STYPE está definido en mas de un fichero .h
O si no que desde algun .cpp estás incluyendo más de una vez el fichero .h con dicha definicion.
Para éste último caso, lo que puedes hacer es poner en el fichero .h lo siguiente para evitar que los simbolos se incluyan más de una vez:

Código:
#ifndef _Fichero_lo_que_sea_h_
#define _Fichero_lo_que_sea_h_


... aqui va todo lo que tienes ahora


#endif /* _Fichero_lo_que_sea_h_ */
__________________
Grupos de Música
Pop Music Stars
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:28.