Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Compiler Error C2663
Collapse the table of content
Expand the table of content

Compiler Error C2663

'function' : number overloads have no legal conversions for 'this' pointer

The compiler could not convert this to any of the overloaded versions of the member function.

This error can be caused by invoking a non-const member function on a const object. Possible resolutions:

  1. Remove the const from the object declaration.

  2. Add const to one of the member function overloads.

The following sample generates 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
}
Show:
© 2015 Microsoft