Kompilatorfel C2663

"funktion" : nummeröverladdningar har inga giltiga konverteringar för 'this'-pekare

Anmärkningar

Kompilatorn kunde inte konvertera this till någon av de överlagrade versionerna av medlemsfunktionen.

Det här felet kan orsakas av att en funktion som inteconst är medlem anropas på ett const objekt. Möjliga lösningar:

  1. const Ta bort från objektdeklarationen.

  2. Lägg till const i en av en medlemsfunktions överlagringar.

Example

I följande exempel genereras 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
}