Compartilhar via


Erro do compilador C2395

'your_type::operator'op'' : operador CLR ou WinRT inválido. Pelo menos um parâmetro deve ser dos seguintes tipos: 'T', 'T%', 'T&', 'T^', 'T^%', 'T^&', onde T = 'your_type'

Um operador em um tipo Windows Runtime ou gerenciado não tinha pelo menos um parâmetro cujo tipo é o mesmo que o tipo do valor retornado do operador.

O exemplo a seguir gera o erro C2395 e mostra como corrigi-lo:

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