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