Erreur du compilateur C3764
'override_function' : impossible de remplacer la méthode de classe de base 'base_class_function'
Le compilateur a détecté un remplacement mal formé. Par exemple, la fonction de classe de base n’était pas virtual
. Pour plus d’informations, consultez remplacement.
Exemples
L’exemple suivant génère l’erreur C3764.
// C3764.cpp
// compile with: /clr /c
public ref struct A {
void g(int);
virtual void h(int);
};
public ref struct B : A {
virtual void g(int) override {} // C3764
virtual void h(int) override {} // OK
};
C3764 peut également se produire lorsqu’une méthode de classe de base est explicitement et nommée substituée. L’exemple suivant génère l’erreur C3764.
// C3764_b.cpp
// compile with: /clr /c
ref struct A {
virtual void Test() {}
};
ref struct B : public A {
virtual void Test() override {}
virtual void Test2() = A::Test {} // C3764
};