Ошибка компилятора C4430: отсутствует спецификатор типа - предполагается тип int [дубликат]
этот вопрос уже есть ответ здесь:
У меня есть эта ошибка:
"ошибка C4430: отсутствует спецификатор типа - предполагается тип int. Примечание: C++ не поддерживает default-int"
С этим примером кода:
//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.
};
1 ответов
Это циклическая зависимость вопрос. Для объявления указателя на некоторый класс определение класса не требуется; т. е. тип не должен быть тип.
Поэтому вам не нужно включать A.h на B.h, вперед декларации достаточно. Например:
//B.h
class A; // change the include of A.h to forward declaration
class B { 
    A* a;
};
