Cómo soluciono: Body has already been defined for function

Diego Augusto
19 de Enero del 2003
Quisiera que alguien me explicara que significa o por que se da el error al compilar: "Body has already been defined for function" y como puedo corregirlo. Gracias

webJose
19 de Enero del 2003
Quiere decir que el "cuerpo" de la función ya fue escrito anteriormente. Este error de compilación se da cuando se escribe la implementación de una función en dos lugares diferentes.

Ejemplo:

//Funciones.h

void EjFunc(void)
{printf(...)};

Luego, en Funciones.cpp:

void EjFunc(void)
{MessageBox(...)};

Lo ve? Si un .cpp incluye funciones.h, entonces la función es declarada y el cuerpo (implementación) de la función es compilado, pero luego se encuentra con funciones.cpp, que cuando es compilado encuentra otro cuerpo de función. Eso no es permitido.