depends on the requirement. if you got fixed no of arguments like
sum(int int)
sum(float float) .. go for Templates.
If you have variable arguments and you know the data types then make use of va_list. ie variable argument list
define the function like sum(int x ... ) { //code }
In this you can call the function as sum(1 2 3) or sum(1) etc...