Esto es asi. Primeros debes separar la implementacion de la declaracion. Separa bien lo que son los .h de los .cpp
Otro paso es usar las macros en los .h para evitar la declaraciones ciclicas. Ejemplo:
Código C++:
Ver original#ifndef HOLA
#define HOLA
class A {}
#endif
Luego en cada archivo de cabecera incluir el correpondiente archiv .h necesario y pero en uno de ellos hay que agregar una simple declaracion de clase: class A;
Código C++:
Ver original#ifndef CLASE_A
#define CLASE_A
#include "B.h"
class B;
class A {
B * b;
}
#endif
Código C++:
Ver original#ifndef CLASE_B
#define CLASE_B
#include "C.h"
class C;
class B {
C * c;
}
#endif
Código C++:
Ver original#ifndef CLASE_C
#define CLASE_C
#include "A.h"
class A;
class C {
A * a;
}
#endif
Una vez tuve este problema y creo haberlo resuelto asi. Ahora no me puedo fijar...mas tarde me fijo bien. Prueba con esta opcion mientras.