다음을 통해 공유


컴파일러 오류 C2027

정의되지 않은 형식 'type'를 사용했습니다.

형식은 정의될 때까지 사용할 수 없습니다. 오류를 해결하려면 형식을 참조하기 전에 형식이 완전히 정의되어 있는지 확인합니다.

예제

다음 샘플에서는 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
}