首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下函数模板定义: template<typename T1,int a2,int a3> T1 sum(T1 a1) { return(a1+a2+a3); } 则以下调用中正确的是
有如下函数模板定义: template<typename T1,int a2,int a3> T1 sum(T1 a1) { return(a1+a2+a3); } 则以下调用中正确的是
admin
2013-02-27
45
问题
有如下函数模板定义: template<typename T1,int a2,int a3> T1 sum(T1 a1) { return(a1+a2+a3); } 则以下调用中正确的是
选项
A、sum<int,4,3>(5);
B、sum<4,3>(5);
C、sum<int,int,int>(5);
D、sum(5);
答案
A
解析
本题考核函数模板的使用。C++中对函数模板的调用有时候只使用了函数实参,而没有使用模板实参,模板实参都被省略了,但模板实参的省略并不是必然的,而是有条件。模板实参不能省略的情况有:从模板函数实参表获得的信息有矛盾;需要获得特定类型的返回值,而不管参数的类型如何;虚拟类型参数没有出现在模板函数的形参中;函数模板含有常规形参。题中定义的函数模板中含有常规形参,常规形参的信息无法从模板函数的实参表中获得,因此在调用时必须显式地给出对应于常规参数的模板实参。注意,sum的第一个模板实参的信息可以从模板函数的实参表中获得,但由于它位于不可省略实参的前面,因此不能省略,所以只有A选项的调用格式是正确的。
转载请注明原文地址:https://kaotiyun.com/show/iaVp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
C语言的逻辑表达式在特定情况下会产生“短路”现象。若有如下逻辑表达式:x++&&y++;,则以下叙述中正确的是()。
若有以下程序段:doublex=5.16894:printf("%f\n",(int)(x*1000+0.5)/(double)1000);则程序段的输出结果是()。
以下叙述中正确的是()。
以下叙述中正确的是()。
关于C语言标识符,以下叙述中错误的是()。
以下属于不合法的常量数据是()。
如图所示:带有头结点的单向链表head,其三个数据结点A、B、C的连接关系如下图所示: 结点类型的定义为: structlink { doubledt; structlink*next; }; 若指针p指向A结点,
下面不属于算法的控制结构的是______。
栈和队列的共同特点是()。
浮点数的默认精度值是【】。
随机试题
A.左心室大B.右心室大C.左心房大D.全心扩大高血压心脏病主要是
调查研究的逻辑步骤是
化生不可能发生于
A.维生素AB.维生素DC.维生素ED.维生素BlE.维生素B6
根据《建设工程安全生产管理条例》,下列哪些选项是施工单位项目负责人的安全责任?()
根据有关法律规定,发生生产安全事故后,应当立即成立事故调查组。事故调查组的主要职责是()。
负债和所有者权益类账户的期末余额一定在贷方。()
关于建立、维持和发展人际关系的方法中,下列说法正确的是()。
18、19世纪的西欧,在社会政治、经济发展及特定历史文化背景下,逐渐形成了带有等级特权痕迹的双轨学制。其“双轨”是指
马克思主义指导思想,是社会主义核心价值体系的灵魂。马克思主义之所以是我们立党立国的根本指导思想,是因为马克思主义
最新回复
(
0
)