Partager via


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 :

  1. Supprimez la const déclaration d’objet.

  2. 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
}