Error del compilador C2663
'función': número sobrecargas no tienen ninguna conversión válida para el puntero 'this'
El compilador no ha podido convertir this
en ninguna de las versiones sobrecargadas de la función miembro.
Este error puede deberse a la invocación de una función miembro que no es const
en un objeto const
. Posibles resoluciones:
Quite el elemento
const
de la declaración del objeto.Agregue
const
a una de las sobrecargas de función miembro.
El ejemplo siguiente genera el error 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
}