重複の可能性:
タプルを可変個引数テンプレート関数の引数に展開するにはどうすればよいですか?
タプルを「アンパック」して、一致する関数ポインターを呼び出す
C++11 テンプレートで、(おそらくテンプレート) 関数の個々の引数としてタプルを使用する方法はありますか?
例:
この関数があるとしましょう:  
void foo(int a, int b)  
{  
}
そして、私はタプルを持っていauto bar = std::make_tuple(1, 2)ます。
それを使用してテンプレートの方法で呼び出すことはできますfoo(1, 2)か?
foo(std::get<0>(bar), std::get<1>(bar))引数の数がわからないテンプレートでこれを実行したいので、単純にというわけではありません。
より完全な例:
template<typename Func, typename... Args>  
void caller(Func func, Args... args)  
{  
    auto argtuple = std::make_tuple(args...);  
    do_stuff_with_tuple(argtuple);  
    func(insert_magic_here(argtuple));  // <-- this is the hard part  
}
1 つの引数で機能するテンプレートを 1 つ作成したり、2 つの引数で機能する別のテンプレートを作成したりしたくないことに注意してください。</p>