Как-то волей судьбы раньше с таким не сталкивался, а тут на тее. В общем, когда у нас перекрёстные ссылки - всё просто. предопределил класс и проблема решена. А как поступить если мне нужно иметь не ссылку а именно полноценный объект? Пример:
class B;
class A {
B b;
};
class B {
A* a;
};
int main()
{
}
Ну и результат:
akutsan@akutsan:~/development/tests$ g++ main2.cpp
main2.cpp:4:4: error: field ‘b’ has incomplete type
П.С: Пример искусственный. простое переставление классов местами сделать нельзя в реальной проблеме.