作业帮 > 综合 > 作业

关于函数模版的一道题-----c++

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/08/17 22:43:34
关于函数模版的一道题-----c++
有如下函数模版定义:
template
T func(T y,T x) { return x*x + y*y ; }
在下列对func的调用中不正确的是( )
A) func(3,5)
B) func (3,5)
C) func(3,5.5)
D) func(3,5.5)
我知道答案是c,但是为什么?
还有,函数模版实例后的什么时候可以省略?类模板实例后的呢?
关于函数模版的一道题-----c++
函数模版实例时会根据你的参数而自动转换,就好像A中3,5,T会自动变成int.而D,已经说明是int类型,所以5.5会变成5.但是C的话,3和5.5,此时就不知是int或者是double/float了,除非3改写成3.0