オーバーロードされたメソッドのテンプレートがあります。オーバーロードされたメソッドへのポインタを作成しようとしています。
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*>
私は運がなくてtypedefを試みました。