2011-06-29 7 views
5

He estado desarrollando mi aplicación utilizando GCC 4.6 para la compilación, pero un usuario informó sobre el error "redefinición de typedef". Después de un poco de confusión en el que injustamente dije al usuario a buscar el último código fuente usando Git, di un vistazo más de cerca y encontré algo similar a esto:¿Por qué el error "Redefinición de typedef" con GCC 4.3 pero no con GCC 4.6?

/* mystruct.h */ 

#ifdef MYSTRUCT_H 
#define MYSTRUCT_H 

typedef struct _mystruct mystruct 

#endif 



/* mystruct.c */ 
#include "mystruct.h" 

typedef struct _mystruct 
{ 
    int a; 
    int b; 

} mystruct; 

que es bastante fácil de solucionar para las versiones más antiguas del CCG, pero ¿por qué ¿esto ya no es un error? ¿O necesita informes?

+0

no puedo ... espere ... hasta ... reemplazamos ... el preprocesador C ... con un lenguaje de scripting real ... como PHP u objetivo C smalltalk analog ... – Dmitry

Respuesta

5

Esto se parece a un deliberate change ...

que no tienen 4,6 a mano, pero parece que obtendrá la advertencia si utiliza -pedantic.

Cuestiones relacionadas