Erreur du compilateur C2395
'your_type::operator'op'' : opérateur CLR ou WinRT non valide. Au moins un paramètre doit être des types suivants : 'T', 'T%', 'T&', 'T^', 'T^%', 'T^&', 'T^&', où T = 'your_type'
Un opérateur dans un type managé ou Windows Runtime ne disposait pas d'au moins un paramètre dont le type est le même que le type de la valeur de retour de l'opérateur.
L'exemple suivant génère l'erreur C2395 et montre comment la corriger :
// 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);
};