Freigeben über


Compilerfehler C2663

'Funktion': Zahlenüberladungen haben keine rechtlichen Konvertierungen für den Zeiger "dieses"

Bemerkungen

Der Compiler konnte nicht in eine der überladenen Versionen der Memberfunktion konvertiert werden this .

Dieser Fehler kann durch Aufrufen einer Nicht-Member-Funktionconst für ein const Objekt verursacht werden. Mögliche Auflösungen:

  1. Entfernen Sie die const Aus der Objektdeklaration.

  2. Fügen Sie einer der Memberfunktionsüberladungen hinzu const .

Example

Im folgenden Beispiel wird C2663 generiert:

// 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
}