元组作为函数参数

0 c++ tuples variadic c++11

如果有可能如何使用可变参数元组作为函数中的参数以及如何初始化它,我有点困惑.

    template <typename T, Arg ...> 
      void foo (int a, std::tuple<T, sizeof(Arg)> TupleTest);
...

foo(TupleTest(2, "TEST", 5.5));
Run Code Online (Sandbox Code Playgroud)

如何使用c ++ 0x实现?

小智 8

您不需要获取模板参数的数量.这样做:

template <typename... T>
void foo(int a, std::tuple<T...> TupleTest);

// make_tuple so we don't need to enter all the type names
foo(0, std::make_tuple(2, "TEST", 5.5));
Run Code Online (Sandbox Code Playgroud)