コンパイラ エラー 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
}