Что вы хотите sizeof
для?Просто используйте расширение variadic:
template <typename T, typename Arg ...>
void foo(int a, std::tuple<T, Arg...> TupleTest);
И здесь TupleTest
- это имя аргумента , а не имя типа.Поэтому при вызове метода не используйте его.
foo(42, std::tuple<int, char const*, double>(2, "TEST", 5.5));
Наконец, аргумент типа T
не имеет смысла (если вы явно не хотите запретить пустой список шаблонов), поэтому вы можете просто удалитьэто без потерь.