Erro do Compilador C2663
"function": as sobrecargas numéricas não têm conversões legais para o ponteiro "this"
O compilador não conseguiu converter this
em nenhuma das versões sobrecarregadas da função membro.
Esse erro pode ser causado pela invocação de uma função membro não const
em um objeto const
. Possíveis resoluções:
Remova o
const
da declaração do objeto.Adicione
const
a uma das sobrecargas da função membro.
A amostra a seguir gera o erro 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
}