首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
有如下模板定义:template class ...
[单选题]
有如下模板定义:
template <class T>T fun(T x,T y){return x*x+y*y;}
在下列对 fun 的调用中,错误的是:
fun(2,8)
fun(2.0,8.2)
fun(2.3,8)
fun<float>(2,8.3)
查看正确选项
添加笔记
求解答(10)
邀请回答
收藏(238)
分享
11个回答
添加回答
43
牛客小丑C
函数模板,传入的都是同类型的话,会自动转换获取类型T; 当传入的类型不同,一定要使用声明<类型>放在函数名和()之间,告诉函数模板应该转换什么类型; 但传入的类型不同,但又没有类型声明,那不好意思,编译器不知道该怎么转了,也就出错了。
发表于 2021-01-10 08:54:17
回复(0)
5
Ddl201811231138684
<p>在模版函数中,两个参数的类型必须是一样的</p>
发表于 2020-08-16 13:13:44
回复(0)
4
天行者1932
函数模板调用时注意1、如果利用自动类型推导,不会发生隐式类型转换2、如果利用显示指定类型,可以发生隐式类型转换
发表于 2021-04-13 23:43:28
回复(0)
2
Joker2720
只有一个参数的函数模板,传入的都是同类型的话,会自动转换类型;传入不同时,使用声明<类型>,放在函数名和()之间,告诉函数模板转换什么类型。
发表于 2022-03-05 16:41:49
回复(0)
2
牛客112689239号
d是啥意思?
发表于 2021-01-03 17:42:56
回复(0)
1
分时日月周算数关罗父
类型不同,必须声明
发表于 2023-09-22 16:13:41
回复(0)
1
正义市民张先生
D是对的,fun<float>(2, 8.3)是合法的调用。根据模板定义,T被推断为float类型,因此fun函数的参数x和y都是float类型。在调用fun时,2会被隐式转换为float类型,所以参数x的类型是float,而8.3本身就是float类型,所以参数y的类型也是float。因此,fun<float>(2, 8.3)是合法的调用,并且返回值类型也是float。</float></float>
发表于 2023-07-09 18:17:40
回复(0)
0
大角牛fafasf
TMD,问GPT全是错误的
发表于 2024-03-14 10:51:37
回复(0)
0
运营商大王_初高中本科研究生我真的累了
只有一个参数的函数模板,传入的都是同类型的话,会自动转换类型;传入不同时,使用声明<类型>,放在函数名和()之间,告诉函数模板转换什么类型。
发表于 2024-03-04 10:38:53
回复(0)
0
一定要上岸的加菲猫很想按时下班
函数模板传入的是同类型的话,T会自动获取类型,如果传入的参数类型不一致,一定要使用声明,不然编译器无法识别出具体用什么类型
发表于 2023-07-19 21:03:35
回复(0)
0
Juventus-小九
函数模板,传入的都是同类型的话,会自动转换类型;传入不同时,使用声明:类型,放在函数名和()之间,告诉函数模板应该转换什么类型。
发表于 2022-02-10 09:57:09
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
2019
C++
游戏研发工程师
搜狐畅游
上传者:
小小
难度:
11条回答
238收藏
1938浏览
热门推荐
相关试题
在类的定义中构造函数的作用是()
哔哩哔哩
游戏研发工程师
2020
评论
(1)
在类的定义中可以有两个同名函数,这...
哔哩哔哩
游戏研发工程师
2020
评论
(0)
运行 ldd hello 可以得到...
百度
C++
评论
(3)
有同事不完成任务,影响力进度,你怎...
业务综合
评论
(1)
你身边有哪些人还没有使用滴滴,你认...
用户研究
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题