Приветствую!
Хочу сделать функцию с переменным количеством аргументов, что бы вызывать так:
functionName(param1, param2, paramN);
Все параметры одного типа, но общее их количество неизвестно.
Пишу шаблон:
template<typename... Args>
void functionName(double arg1, Args ... args) {
....
return functionName(args...);
}
void functionName() {}
По моей логике количество параметров в args... с каждым разом должно уменьшаться, т.к. объявлен первый параметр явно, но этого не происходит и вызов функции зацикливается навсегда с одним и тем же количеством параметров при вызове (при первом вызове было передано 3, в дальнейшем так 3 и остаётся). Подскажите, как правильно реализовать?
UPDT: Ошибка была моя, всё работает:
cpp.sh/6mamm (P.S. volatile лишняя будет )