Erreur du compilateur C2553
'base_function' : la substitution du type de retour de fonction virtuelle diffère de 'override_function'
Une fonction dans une classe dérivée a tenté de remplacer une fonction virtuelle dans une classe de base, mais la fonction de classe dérivée n’a pas le même type de retour que la fonction de classe de base. Une signature de fonction de remplacement doit correspondre à la signature de la fonction remplacée.
L’exemple suivant génère l’erreur C2553 :
// C2553.cpp
// compile with: /clr /c
ref struct C {
virtual void f();
};
ref struct D : C {
virtual int f() override ; // C2553
// try the following line instead
// virtual void f() override;
};