Compiler error C4430: missing type specifier – int assumed [duplicate]

This is a circular dependency issue. For declaring a pointer to some class, the definition of the class is not needed; i.e. the type doesn’t have to be a complete type. So you don’t need to include A.h in B.h, forward declaration is enough. Such as:

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

Leave a Comment