单选题
下列关于函数模板的定义中,合法的是( )。
A、
template class <T>T abs(T z) return z<0 ?-z:z;
B、
template<typename T>T abs(T z) return z<0 ?-z:z;
C、
template T<class T>abs(T z) return z<0 ?-z:z;
D、
template T abs(Tz) return z<0 ?z:z;
【正确答案】
B
【答案解析】
[解析] 声明一个函数模板格式是:
template<模板形参表声明><函数声明>
其中<模板形参表声明>是由一个或多个<模板形参>组成(如果是多个需要用逗号隔开)。其中,<模板形参>可以换成class,函数的声明部分和一般函数的声明部分类似,只有某些类型修饰符被虚拟类型参数替代。
提交答案
关闭