Compiler Error C3195

 

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 C3195.

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   
};  

Show: