Compartilhar via


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
}