Partilhar via


Erro do compilador C2027

Utilização do tipo indefinido «tipo»

Remarks

Um tipo não pode ser usado até que esteja definido. Para resolver o erro, certifique-se de que o tipo está totalmente definido antes de fazer referência a ele.

Examples

O exemplo a seguir gera 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 C++ não permite uma referência a um tipo indefinido.

O exemplo a seguir gera C2027.

// C2027_b.cpp
class A;
A& CreateA();

class B;
B* CreateB();

int main() {
   CreateA();   // C2027
   CreateB();   // OK
}