Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: reem en 29 Marzo 2012, 12:09 PM

Título: Error de redefinición
Publicado por: reem en 29 Marzo 2012, 12:09 PM
Hola,



// fichero aa.h
#define HOLA "hola"



// fichero bb.h
#include "aa.h"
#define ADIOS "adios"



// FICHERO main.c
#include "aa.h"
#include "bb.h"

#include <stdio.h>

int main() {
printf("probando errores de redefinicion\n");
        return 0;
}



Lo compila y lo ejecuta sin problemas. ¿No debería de dar error de redefinición al incluir dos veces aa.h?

¡Gracias!

Título: Re: Error de redefinición
Publicado por: Beakman en 29 Marzo 2012, 21:24 PM
No, lo único que pusiste en esos ficheros son defines. Que sería lo mismo que hacer lo siguiente:
Código (cpp) [Seleccionar]
#include <stdio.h>
#define ADIOS "adios"
#define ADIOS "adios"

int main() {
printf("probando errores de redefinicion\n");
       return 0;
}


Si en cambio, en esos archivos ponés funciones/clases/etc, sí da error de redefinición.