Di recente mi sono bloccato in una situazione come questa:
class A
{
public:
typedef struct/class {...} B;
...
C::D *someField;
}
class C
{
public:
typedef struct/class {...} D;
...
A::B *someField;
}
Di solito puoi dichiarare un nome di classe:
class A;
Ma non è possibile inoltrare un tipo nidificato, ciò che segue causa un errore di compilazione.
class C::D;
Qualche idea?