Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/05/2013, 02:48
Avatar de as3nsi0
as3nsi0
 
Fecha de Ingreso: mayo-2013
Mensajes: 1
Antigüedad: 11 años, 6 meses
Puntos: 0
Problema con "Referencias Cruzadas"

Hola buenas a todos pues mi problema consiste en lo que pone en el titular "Referencias Cruzadas" tengo un proyecto que tiene dos (.h) que se llaman mutuamente y mi problema es que cuando compilo me sale error porque me dice que una de las clases no esta definida.

Os dejaré mi código por aquí para que lo veais mejor ya que creo que no me he explicado muy bien:


#include "B.h"

#ifndef _A
#define _A

class A{
private:
B b;
...
public:
...
};

#endif


#include "A.h"

#ifndef _B
#define _B

class B{
private:
A a;
...
public:
...
};

#endif

Este es mi código y mi problema consiste que uno llama al otro y viceversa. He estabdo buscando por webs y demás y encontrado soluciones como dejar el código de la siguiente manera:


#include "B.h"

#ifndef _A
#define _A

class A{
private:
B b;
...
public:
...
};

#endif


class B;

#ifndef _B
#define _B

class B{
private:
A a;
...
public:
...
};

#endif

Y luego en el .cpp del B hacer referencia a A, es decir meter #include "A.h" en el B.cpp, pero mi problema sigue existiendo.

A ver si ustedes pueden ayudarme se lo agradecería mucho, porque llevo mucho tiempo buscandole solución a esto y no la he encontrado aún.
Muchas gracias de antemano =).