У меня есть шаблон с перегруженным методом. Я пытаюсь создать указатель на перегруженный метод.Указатель на перегруженный метод класса шаблона
template<typename T>
class Future {
public:
const T& get() const;
bool get(T*, int timeoutMs) const;
};
...
const void*&(Future<void*>::*x)()const = &Future<void*>::get;
компиляция терпит неудачу с этой ошибкой:
no matches converting function 'get' to type 'const void*& (class Future<void*>::*)()const'
candidates are: const T& Future<T>::get() const [with T = void*]
bool Future<T>::get(T*, int) const [with T = void*]
Я попытался Future<void*>
без определения типа во удаче.
Thx, это помогло. Я застрял в течение нескольких часов, и решение так просто ... :). – Salw
Я думаю, что это хороший пример того, почему запись 'const' впереди не является хорошей идеей: 'const T' не совпадает с 'T const', если вы ставите' void *' вместо T. – bames53