Compilerfout C4430: ontbrekende typespecificatie – int aangenomen

Ik heb deze fout:

“fout C4430: ontbrekende typespecificatie – int verondersteld. Opmerking: C++ ondersteunt standaard-int niet”

met dit codevoorbeeld:

//A.h    
#include "B.h"
class A{
    B* b;
    ..
};
//B.h
#include "A.h"
class B{ 
    A* a; // error error C4430: missing type specifier - int assumed.
};

Antwoord 1, autoriteit 100%

Dit is een circulaire afhankelijkheid-probleem. Voor het declareren van een pointer naar een klasse is de definitie van de klasse niet nodig; d.w.z. het type hoeft geen compleet typete zijn.
U hoeft dus geen A.hop te nemen in B.h, verklaring voorafis voldoende. Zoals:

//B.h
class A; // change the include of A.h to forward declaration
class B { 
    A* a;
};

Other episodes