有如下函数模板定义:template<class T>T func(T x,T y){retum x*x+y*y;}在下列对func的调用中,错误的是( )。

admin2020-11-11  593

问题 有如下函数模板定义:template<class T>T func(T x,T y){retum x*x+y*y;}在下列对func的调用中,错误的是(     )。

选项 A、func(3,5);
B、func(3.0,5.5);
C、func(3,5.5);
D、func<int>(3,5.5);

答案C

解析 此题考查的是函数模板的使用。引用模板函数和引用~般函数在语法形式上基本相同。需要注意的是说明一个函数模板后,当编译系统发现有一个对应的函数调用时,将根据实参中的类型来确认是否匹配函数模板中的对应形参。本题C选项中,编译系统从第一个参数“3”获得信息“int”和从第二个参数获得信息“double”两者矛盾,错误;A、B选项正确;D选项中,函数名后的<int>是模板实参表,编译系统会将double型的形参“5.5”自动转化成int类型。
转载请注明原文地址:https://kaotiyun.com/show/xlyp777K
0

最新回复(0)