Вопрос про шаблонные функции
template <int>
int foo()
{
int y=9;
return y;
}
template <float>
float foo()
{
float y=9;
return y;
}
Я хочу, чтобы по одному имени функции можно было работать с разными типами, поэтому сделала шаблонной. Но выскакивает ошибка. Здесь вариант с классом дроби.
template<int>
int foo()
{
int y=9;
return y;
}
template <class Ratio>
Ratio foo()
{
Ratio res(5,6);//здесь вместо конструктора, который есть, пишет про лист инициализации, и также ошибка
return res;
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
template <typename T>
T foo()
{
T y = 9;
return y;
}
Вот так как-то... :) А если для Ratio надо что-то отдельное, то после этого
template<>
Ratio foo()
{
Ratio res(5,6);
return res;
}
Но общий вариант с typename T — должен быть объявлен до спциализации.