Вероятно, проще объяснить, что я имею в виду на примере.Представьте себе следующий шаблон:
template <class... Args>
std::tuple<Args...> foo();
Он может быть вызван, например, следующим образом:
auto ret = foo<int, bool>();
Но что, если я хочу передать дополнительные аргументы функции, основываясь наколичество аргументов шаблона переменной?Например, допустим, я хочу передать символьный строковый литерал для каждого аргумента:
auto ret = foo<int, bool>("a", "b");
Проблема в том, что не представляется возможным расширить невариантные аргументы, поэтому следующее очевидно неt compile:
template <class... Args>
std::tuple<Args...> foo(const char*... names);
Есть ли какой-нибудь разумный способ реализовать это?