// variadic2.cpp #include #include // definition for 0 parameters void show_list() {} // definition for 1 parameter template void show_list(const T& value) { std::cout << value << '\n'; } // definition for 2 or more parameters template void show_list(const T& value, const Args&... args) { std::cout << value << ", "; show_list(args...); } int main() { int n = 14; double x = 2.71828; std::string mr = "Mr. String objects!"; show_list(n, x); show_list(x*x, '!', 7, mr); return 0; }