编译器警告(级别 4,关闭)C4339

“type”: 在 WinRT 或 CLR 元数据中检测到使用了未定义的类型 - 使用此类型可能导致运行时异常

类型未在针对 Windows 运行时或公共语言运行时编译的代码中定义。 定义类型以避免可能的运行时异常。

默认情况下,此警告处于关闭状态。 有关详细信息,请参阅 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();
}