Erreur du compilateur C2663
'function' : les surcharges de nombre n’ont aucune conversion légale pour 'this' pointeur
Le compilateur n’a pas pu convertir this
en aucune des versions surchargées de la fonction membre.
Cette erreur peut être due à l’appel d’une fonction non membreconst
sur un const
objet. Résolutions possibles :
Supprimez la
const
déclaration d’objet.Ajoutez
const
à l’une des surcharges de fonction membre.
L’exemple suivant génère l’erreur C2663 :
// C2663.cpp
struct C {
void f() volatile {}
void f() {}
};
struct D {
void f() volatile;
void f() const {}
};
const C *pcc;
const D *pcd;
int main() {
pcc->f(); // C2663
pcd->f(); // OK
}