std::function<void(int, int)>のようにテンプレート関数の引数を関数のような形式にすることはできますか?
現在関数ポインタを返すメンバ関数を作っているのですが、テンプレートで
C++11
1template<class Ret, class... Args> using function_type=Ret(*)(Args...); 2 3template<class Ret, class... Args> function_type<Ret, Args...> get();
のようにしてしまうと、呼び出しの時に
C++11
1get<void, int, int>();
のようになって意味がわかりにくくなってしまうと思い<void(int, int)>
のような形式で呼び出せるのであればそのようにしたいと考えました。
このような記法はクラスにしかできないのでしょうか?
もし関数にもこのような記法が可能でしたら、教えていただけますでしょうか。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/15 04:22
2017/04/15 04:49
2017/04/15 05:00