单选题
1分
)已知函数模板定义如下: template <typename T> T&n...
)已知函数模板定义如下:
template <typename T>
T max(T x, T y)
{
return x>y?x:y;
}
下列叙述中,错误的是( )。
template <typename T>
T max(T x, T y)
{
return x>y?x:y;
}
下列叙述中,错误的是( )。
参考答案: C
参考解析: 【解析】题意中的函数模板有一个模板形参T,它是类型形参,选项A正确;模板函数max()的两个参数x、y的类型都是T,在函数体内需要对x、y使用“>”进行大小比较,所以模板实参类型必须支持用运算符“>”比较大小,选项B正确;只要模板实参类型支持运算符>比较大小和赋值运算,那么即使T类型是复杂类型,该模板也是可以实例化的,选项C错误;使用函数模板,编译器在编译过程中,当遇到对max()函数的调用表达式时,编译器通常会推断出模板实参,然后进行模板实例化,生成模板实例,选项D正确。本题答案为C选项。