//variadic1.cpp -- using recursion to unpack a parameter pack #include #include // definition for 0 parameters -- terminating call void show_list3() {} // definition for 1 or more parameters template void show_list3( T value, Args... args) { std::cout << value << ", "; show_list3(args...); } int main() { int n = 14; double x = 2.71828; std::string mr = "Mr. String objects!"; show_list3(n, x); show_list3(x*x, '!', 7, mr); return 0; }