#include #include namespace clanguml { namespace t20041 { template struct A; template struct A { void print(First first, Rest... rest) { std::cout << first << std::endl; A a; a.print(rest...); } }; template <> struct A<> { void print() { } }; void tmain() { using namespace std::literals::string_literals; A a; a.print(1, 3.14, "test"s); } } }