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;
}
所以不知何故...... :) 如果你
Ratio需要一些单独的东西,那么在那之后但是通用变体 c-
typename T必须在特化之前声明。