Недавно я застрял в такой ситуации:
class A
{
public:
typedef struct/class {...} B;
...
C::D *someField;
}
class C
{
public:
typedef struct/class {...} D;
...
A::B *someField;
}
Обычно вы можете объявить имя класса:
class A;
Но вы не можете перенаправить объявление вложенного типа, следующее вызывает ошибку компиляции.
class C::D;
Любые идеи?