Ошибка компилятора C2395Compiler Error C2395

'your_type::operator'op'' : недопустимый оператор CLR или WinRT.'your_type::operator'op'' : CLR or WinRT operator not valid. По крайней мере один параметр должен иметь следующие типы: 'T ', ' не% ', '& ', ' не ^ ', ' t ^% ', ' t ^& ', где T = ' your_type 'At least one parameter must be of the following types: 'T', 'T%', 'T&', 'T^', 'T^%', 'T^&', where T = 'your_type'

Оператор в управляемом типе или типе среды выполнения Windows не содержал по крайней мере один параметр, тип которого совпадает с типом значения, возвращаемого оператором.An operator in a Windows Runtime or managed type did not have at least one parameter whose type is the same as the type of the operator return value.

В следующем примере показано возникновение ошибки C2395 и приводятся сведения по ее устранению.The following sample generates C2395 and shows how to fix it:

// C2395.cpp
// compile with: /clr /c
value struct V {
   static V operator *(int i, char c);   // C2395

   // OK
   static V operator *(V v, char c);
   // or
   static V operator *(int i, V& rv);
};