template <class T> T fun(T x,T y){ return x*x+y*y; }
fun(1, 2)
fun(1.0, 2)
fun(2.0, 1.0)
fun<float>(1, 2.0)
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
首先这个题目有误,模板函数应该定义为(加返回值类似声明):
template <class T>
T fun(T x,T y){
return x*x+y*y;}
然后这里T要求类型一致
A,类型一致,为int型
B,类型不一致,错我
C,类型一致,为folat型
D,用<float>进行声明,后面的实参会强制类型转换为float,所以也是类型一致的。