elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Error de redefinición
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error de redefinición  (Leído 1,709 veces)
reem

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Error de redefinición
« en: 29 Marzo 2012, 12:09 pm »

Hola,


Código
  1. // fichero aa.h
  2. #define HOLA "hola"
  3.  

Código
  1. // fichero bb.h
  2. #include "aa.h"
  3. #define ADIOS "adios"
  4.  

Código
  1. // FICHERO main.c
  2. #include "aa.h"
  3. #include "bb.h"
  4.  
  5. #include <stdio.h>
  6.  
  7. int main() {
  8. printf("probando errores de redefinicion\n");
  9.        return 0;
  10. }
  11.  
  12.  

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

¡Gracias!



En línea

Beakman

Desconectado Desconectado

Mensajes: 190



Ver Perfil WWW
Re: Error de redefinición
« Respuesta #1 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
  1. #include <stdio.h>
  2. #define ADIOS "adios"
  3. #define ADIOS "adios"
  4.  
  5. int main() {
  6. printf("probando errores de redefinicion\n");
  7.        return 0;
  8. }

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


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines