Udostępnij za pomocą


Błąd kompilatora C2027

użycie niezdefiniowanego typu "type"

Remarks

Nie można użyć typu, dopóki nie zostanie zdefiniowany. Aby rozwiązać ten problem, upewnij się, że typ jest w pełni zdefiniowany przed odwoływaniem się do niego.

Examples

Poniższy przykład generuje kod C2027.

// C2027.cpp
class C;
class D {
public:
   void func() {
   }
};

int main() {
   C *pC;
   pC->func();   // C2027

   D *pD;
   pD->func();
}

Można zadeklarować wskaźnik do zadeklarowanego, ale niezdefiniowanego typu. Jednak język C++ nie zezwala na odwołanie do niezdefiniowanego typu.

Poniższy przykład generuje kod C2027.

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

class B;
B* CreateB();

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