Compiler Error C3222
Visual Studio 2015
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Compiler Error C3222.
parameter' : cannot declare default arguments for member functions of a managed or WinRT type or generic functions
It is not permitted to declare a method parameter with a default argument. An overloaded form of the method is one way to work around this issue. That is, define a method with the same name with no parameters and then initialize the variable in the method body.
The following sample generates C3222:
// C3222_2.cpp
// compile with: /clr
public ref class G {
void f( int n = 0 ); // C3222
};
The following sample generates C3222:
// C3222.cpp
// compile with: /clr:oldSyntax
public __gc class G {
void f( int n = 0 ); // C3222
};
Show: