Ver Mensaje Individual
  #2  
Antiguo 05-03-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
No entiendo si ese código es una cabecera.h o un fragmento de archivo .cpp.
No debes incluir código en una cabecera, a no ser que sea código inline.

Por otro lado, si una cabecera no está diseñada con cuidado, y se abre desde dos puntos distintos del proyecto, el compilador puede dar errores de múltiple definición.

Ejemplo:
Código:
#ifndef CabeceraH
#define CabeceraH
// CabeceraH será el mismo nombre del archivo cabecera, por ejemplo. QUE NO SE REPITA....
//---------------------------------------------------------------------------
//DEFINICIONES
.
.
.
//---------------------------------------------------------------------------
#endif
Esta técnica asegura que el compilador sólo leerá una vez las definiciones.
En ocasiones, algunas cabeceras del sistema, son muy complejas, con múltiples condicionantes que, si no las conocemos, nos darán errores aparentemente inexplicables.

Saludos.
Responder Con Cita