컴파일러 오류 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
}