2017-10-28 10 views
-2

を取得:私は、このクラスを持っている特定のテンプレートオーバーロードされたメソッドポインタ

class A{ 
    template<typename Type = int32_t> Type b(){} 
    template<typename Type = int32_t> Type b(Type a, Type b){} 
} 

そして私は機能b<int>()ためのポインタを取得したいとb<int>(int, int)

私はこれを試してみましたが、それはどのわかりません一つは選択します

auto t = (void (A::*)(int,int))(&A::template b<int>); 

答えて

0

あなただけ欲しい:

auto t = static_cast<int(A::*)(int, int)>(&A::b<int>); 

あなたのコードは、他の間違いを修正した後に動作します。

+0

[デモ](https://wandbox.org/permlink/QNW64SM9RyeQDU2I) –

関連する問題