Compiler Error C3195


For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.

'operator' : is reserved and cannot be used as a member of a ref class or value type. CLR or WinRToperators must be defined using the 'operator' keyword

The compiler detected an operator definition using the Managed Extensions for C++ syntax.

Either use the new C++ syntax or use the /clr:oldSyntax compiler option to enable the Managed Extensions for C++ syntax.

The following sample generates C3195 and shows how to fix it:

// C3195.cpp  
// compile with: /clr /LD  
#using <mscorlib.dll>  
value struct V {  
   static V op_Addition(V v, int i);   // C3195  
   static V operator +(V v, char c);   // OK for new C++ syntax