//variadic1.cpp – rozbalení balíčku parametrů pomocí rekurzivního volání
#include <iostream>
#include <string>
// definice 0 parametrů –- ukončení volání
void show_list3() {}

// definice pro 1 či více parametrů
template<typename T, typename... Args>
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 = "Pan Řetězec je proti!";
    show_list3(n, x);
    show_list3(x*x, '!', 7, mr);
    return 0;
}
