C ++ 11では、1つの関数に対して2つの可変個引数テンプレートを使用できますか?
そうでない場合は、そのようなものを書くためのトリックがあります:
template <class... Types, class... Args>
void f(const std::tuple<Types...>& t, Args&&... args)
C ++ 11では、1つの関数に対して2つの可変個引数テンプレートを使用できますか?
そうでない場合は、そのようなものを書くためのトリックがあります:
template <class... Types, class... Args>
void f(const std::tuple<Types...>& t, Args&&... args)
それは完全に合法です:
#include <tuple>
using namespace std;
template <class... Types, class... Args>
void f(const std::tuple<Types...>& t, Args&&... args)
{
// Whatever...
}
int main()
{
std::tuple<int, double, bool> t(42, 3.14, false);
f(t, "hello", true, 42, 1.0);
return 0;
}