コンパイラの警告 (レベル 4) C4339

'type' : 未定義の型の使用が CLR meta-data で検出されました。この型を使用するとランタイム例外が起きる可能性があります。

共通言語ランタイム用にコンパイルされたコードに型が定義されていません。 予想されるランタイム例外を回避するために、型を定義してください。

既定では、この警告はオフに設定されています。 詳細については、「Compiler Warnings That Are Off by Default」を参照してください。

次の例では警告 C4339 が生成されます。

// C4339.cpp
// compile with: /W4 /clr /c
// C4339 expected
#pragma warning(default : 4339)

// Delete the following line to resolve.
class A;

// Uncomment the following line to resolve.
// class A{};


class X {
public:
   X() {}

   virtual A *mf() {
      return 0;
   }
};

X * f() {
   return new X();
}