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


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

"your_type::operator'type": допустимая функция преобразования clR или WinRT, определяемая пользователем. Должен быть преобразован из или преобразовывается в: T^, T^%, T^&&, где T = "your_type"

Замечания

Функция преобразования в управляемом типе или типе среды выполнения Windows не содержала по крайней мере один параметр, тип которого совпадает с типом, содержащим эту функцию преобразования.

Example

В следующем примере создается C2396 и показано, как исправить его:

// C2396.cpp
// compile with: /clr /c

ref struct Y {
   static operator int(char c);   // C2396

   // OK
   static operator int(Y^ hY);
   // or
   static operator Y^(char c);
};