Como obter o endereço de uma função membro sobrecarregad
Estou tentando obter um ponteiro para uma versão específica de umsobrecarregad função de membro. Aqui está o exemplo:
class C
{
bool f(int) { ... }
bool f(double) { ... }
bool example,()
{
// I want to get the "double" version.
typedef bool (C::*MemberFunctionType)(double);
MemberFunctionType pointer = &C::f; // <- Visual C++ complains
}
};
A mensagem de erro é "erro C2440: 'inicializando': não é possível converter de 'função sobrecarregada' para 'MemberFunctionType'"
Isso funciona sef
não está sobrecarregado, mas não no exemplo acima. Alguma sugestão
Cuidado, o código acima não refletia meu problema do mundo real, que era o fato de eu ter esquecido uma "const" - é isso que a resposta aceita aponta. Vou deixar a pergunta como está, porque acho que o problema pode acontecer com outras pessoa