Я пытаюсь получить указатель на конкретную версию перегруженной функции-члена. Вот пример:
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
}
};
Сообщение об ошибке «ошибка C2440:« инициализация »: невозможно преобразовать из« перегруженной функции »в« MemberFunctionType »»
Это работает, если f
не перегружен, но не в примере выше. Любое предложение?
EDIT
Осторожно, приведенный выше код не отражает мою реальную проблему, заключающуюся в том, что я забыл «const» - на это указывает принятый ответ. Я оставлю вопрос таким, какой он есть, потому что я думаю, что проблема может случиться с другими.