12345678910111213141516171819202122232425262728293031 |
- // variadic2.cpp
- #include <iostream>
- #include <string>
- // definition for 0 parameters
- void show_list() {}
- // definition for 1 parameter
- template<typename T>
- void show_list(const T& value)
- {
- std::cout << value << '\n';
- }
- // definition for 2 or more parameters
- template<typename T, typename... Args>
- 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;
- }
|