编译器错误 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
}