This documentation is archived and is not being maintained.

Compiler Warning (level 4) C4339

'type' : use of undefined type detected in CLR meta-data - use of this type may lead to a runtime exception

A type was not defined in code that was compiled for the common language runtime. Define the type to avoid a possible runtime exception.

This warning is off by default. See Compiler Warnings That Are Off by Default for more information.

The following sample generates C4339:

// C4339.cpp
// compile with: /W4 /clr
// C4339 expected

#using <mscorlib.dll>
#pragma warning(default : 4339)

class A;   // define A to resolve this C4339

class X
{
public:
   X()
   {
   }

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

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

int main()
{
}
Show: