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