Добрый день!
Хочется написать шаблонную функцию, у которой последний параметр определенного типа или может отсутствовать.
Пример использования:
std::string info;
foo(1, 2, 4, 67);
foo(1);
foo(2, 3, 4, 5, 6, info);
Типы в pack - только int, double и другие интегральные типы
Последний параметр - std::string
Это вообще возможно?
Дальше, фантазии.
Предполагается, что функция будет выглядеть как-то так:
template<typename... Args>
void foo(Args... args)
{ }
Возможно, понадобилась бы перегруженная функция:
template<typename... Args, typename T = std::string>
void foo(Args... args, const T& info)
{ }