c++函数模版定义了一个函数 形参数必须一致?

比如
templete<class T>
void fun (T a,T b)
{
.......
}
int main()
{
fun(1 , 2);\\正确

fun(1.0 , 2.0);\\正确

fun(1 , 2.0);\\错误

return 0;

}
这样的话函数模版几乎毫无意义了啊
本来用函数模版就是因为参数不确定
这都要求两个参数类型必须一致了
完全有理由认为“两个参数类型都是已知的”
要完成所有功能还得重载 完全看不出函数模版的优越性

你定义的时候就用的是一个class T来定义两个入参a, b.
fun(T a, T b)
从形式上就看出来a,b无论如何都是同一种类型.
而你的第三个是传入的int + float
如果你想要是任意的类型的话,就用两种类型参数
template<class T1, class T2> void func(T1 a, T2 b);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-04
比如?
相似回答