Поделиться через


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

'your_type::operator'op'' : недопустимый оператор CLR или WinRT. По крайней мере один параметр должен иметь следующие типы: "T", "T%", "T", "T^", "T^%", "T^&", где T = "your_type"

Оператор в управляемом типе или типе среды выполнения Windows не содержал по крайней мере один параметр, тип которого совпадает с типом значения, возвращаемого оператором.

В следующем примере показано возникновение ошибки C2395 и приводятся сведения по ее устранению.

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