The pattern parameter_pack ... is expanded into a list of comma-separated substitutions of parameter_pack with each one of its parameters
template<class T> // Base of recursion
void variadic_printer(T last_argument) {
std::cout << last_argument;
}
template<class T, class .....