问题 单项选择题

以下模板定义:
template<class T>
T fun(T x,T y)return x*x+y*y;
下面对fun的调用中错误的是( )。

A.fun<int>(2,6.5)

B.fun(2,6.5)

C.fun<>(2,6)

D.fun(2,6)

答案

参考答案:B

解析: C++中声明函数模板的格式是:template<模板形参表声明><函数声明>,模板函数的调用可以省略实参模板,但实参模板的省略是有条件的。如果从模板函数实际参数列表中获得的信息有矛盾,则不能省略实际参数模板。

多项选择题
单项选择题