Erro do compilador C2027
uso do tipo indefinido 'tipo'
Um tipo não pode ser usado até que seja definido. Para resolver o erro, verifique se o tipo está totalmente definido, antes de referenciá-lo.
Exemplos
O exemplo a seguir gera o erro C2027.
// C2027.cpp
class C;
class D {
public:
void func() {
}
};
int main() {
C *pC;
pC->func(); // C2027
D *pD;
pD->func();
}
É possível declarar um ponteiro para um tipo declarado, mas indefinido. Mas o C++ não permite uma referência a um tipo indefinido.
O exemplo a seguir gera o erro C2027.
// C2027_b.cpp
class A;
A& CreateA();
class B;
B* CreateB();
int main() {
CreateA(); // C2027
CreateB(); // OK
}