Resulta que estoy programando un juego en C++ y tengo varias clases. Una de ellas la uso como "motor" y contiene todas las instancias de mapas, monigotes, la pantalla... etc.
El caso es que he hecho un nuevo objeto el cual usa varios de esos datos por lo que le he puesto un atributo que es un puntero a la instancia de "motor", y aquí viene el problema, al compilar. Resulta que una clase A tiene un atributo de un objeto de clase B, y ésta clase B uno de la A... y evidentemente cuando empieza a compilar una la otra aún no está definida.
Bueno, puedo cambiar un poco el diseño actual porque seguramente se pueda hacer mejor, e incluso pasarle los punteros sueltos de lo que necesita, pero aunque sea por curiosidad, me gustaría saber si se puede conseguir esto en C++.
Uso g++ en Linux y compilo con un Makefile que he hecho, kizir, que primero compilo clases por separado como código objeto y luego la aplicación (por si ayuda).
Gracias por adelantado
Nota: Para que quede claro, lo de las clases sería:
class A{
...
B *pb;
...
};
class B{
...
A *pa;
...
};