variadic1.cpp 521 B

1234567891011121314151617181920212223
  1. //variadic1.cpp -- using recursion to unpack a parameter pack
  2. #include <iostream>
  3. #include <string>
  4. // definition for 0 parameters -- terminating call
  5. void show_list3() {}
  6. // definition for 1 or more parameters
  7. template<typename T, typename... Args>
  8. void show_list3( T value, Args... args)
  9. {
  10. std::cout << value << ", ";
  11. show_list3(args...);
  12. }
  13. int main()
  14. {
  15. int n = 14;
  16. double x = 2.71828;
  17. std::string mr = "Mr. String objects!";
  18. show_list3(n, x);
  19. show_list3(x*x, '!', 7, mr);
  20. return 0;
  21. }