Нещодавно я застряг у такій ситуації:
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;
Будь-які ідеї?