Título: Re: Error "Definición múltiple de función"
Publicado por: punteroNULO en Jueves 2 de Abril de 2009, 19:22
Sin más información se me ocurre que podría deberse a que se incluye un archivo de cabecera en dos módulos distintos y al enlazarlos se definen las mismas funciones dos veces.
Se puede evitar esto simplemente con una definición y una condición. Por ejemplo (archivo clases.h, por poner uno)
Código: C++
#ifndef clases_H
#define clases_H
// contenido de la cabecera
#endif
La primera vez que se incluye el archivo no está definido clases_H, se cumple la condicion "#ifndef clases_H" define clases_H y el resto del contenido. Pero la segunda vez que se incluya ya estará defindo y por tanto se salta ese código y no se vuelven a redefinir las funciones.
Bueno, espero que se entienda más o menos.
Título: Re: Error "Definición múltiple de función"
Publicado por: m0skit0 en Viernes 3 de Abril de 2009, 09:26
Hm, claro, no había pensado en ello :good: Es lo que tiene el obfuscarse en una casilla y no ver más allá. Ya te cuento qué tal y muchas gracias.
EI: juntando mensajes.
¡Perfecto! ¡Funciona! ¡Muchísimas gracias! B)
En clases.h:
Código: C++
#define CLASES_H
En cada .cpp
Código: C++
//Para evitar redefiniciones
#ifndef CLASES_H
#include "clases.h"
#endif
:good: :good:
Título: Re: Error "Definición múltiple de función"
Publicado por: Eternal Idol en Viernes 3 de Abril de 2009, 09:53
Normalmente se pone esa condicion unicamente en las cabeceras, como te dijo punteroNULO, asi desde los modulos se sigue incluyendo directamente como siempre.
Título: Re: Error "Definición múltiple de función"
Publicado por: m0skit0 en Viernes 3 de Abril de 2009, 09:57