选择题
22.
已知函数模板定义如下:
template<class T>
T min(T x, T y)
{
return x<y? x:y;
}
下列叙述中,错误的是______。
A、
该函数模板有一个模板参数
B、
T类型所允许的类型范围应提供有意义的<运算符操作
C、
该函数模板生成的模板函数中,参数和返回值的类型可以不同
D、
该函数模板可以生成模板函数double min(double, double)
【正确答案】
C
【答案解析】
该函数模板有一个模板参数T,选项A正确;由于在函数体中需要比较函数两个参数x、y的大小,所以T类型必须能够提供有意义的<运算符操作,选项B正确;double具有有意义的<运算符操作,所以可以生成模板函数double min(double,double),选项D正确;在该函数模板中,函数的参数和返回值类型都是T,所以参数和返回值的类型必须是一样的,选项C错误。答案为C选项。
提交答案
关闭