Поделиться через


Ошибка компилятора C2027

использование неопределенного типа "type"

Remarks

Тип нельзя использовать до тех пор, пока он не определен. Чтобы устранить ошибку, убедитесь, что тип полностью определен перед ссылкой на него.

Examples

В следующем примере создается C2027.

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

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

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

Можно объявить указатель на объявленный, но неопределенный тип. Но C++ не разрешает ссылку на неопределенный тип.

В следующем примере генерируется C2027.

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

class B;
B* CreateB();

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