Sdílet prostřednictvím


Chyba kompilátoru C2663

'function' : přetížení čísel nemají žádné právní převody pro "tento" ukazatel

Poznámky

Kompilátor nemohl převést this na žádnou z přetížených verzí členské funkce.

Příčinou této chyby může být vyvolání nečlenovéconst funkce objektu const . Možná řešení:

  1. Odeberte z const deklarace objektu.

  2. Přidejte const do jednoho z přetížení členské funkce.

Example

Následující příklad vygeneruje 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
}