Рассмотрим этот шаблон:
template<typename t>
t add(t a, t b) {
return a+b;
}
Как передать различные типы параметров, чтобы возвращаемое значение было:
-
int
, если оба параметра имеют типint
. -
float
, если один из параметров имеет типfloat
. -
float
, если оба параметра имеют типfloat
.
Я также пробовал иметь несколько параметров для шаблона:
template<typename t, typename c>
используя их для параметров функции, чтобы они могли быть разными (t add(t a, c b)
), но то, что я не могу обернуть вокруг, - это как изменить тип функции (int, float, double и т.д.) в зависимости от тип возврата?