Неограниченное число аргументов - можно просто единственным аргументом принимать указатель на начало списка, например. А список может быть любой длины.
Для того, чтобы функция работала с разными входными данными, используйте шаблоны (шаблоны функций):
Википедия