选择题
下列函数模板声明中,合法的是______。
A、
template<typename T>T abs(T x);
B、
template class<T>void abs(T x);
C、
template T<class T>abs(T x);
D、
template<typename T>abs(T x);
【正确答案】
A
【答案解析】
声明一个函数模板的格式是:template<<模板形参表声明>><函数声明>,其中模板形参有三种形式:<typename参数名>;<class参数名>;<类型修饰 参数名>。函数模板的模板形参表是用尖括号括住的一个或多个模板形参的列表,类型形参必须要有关键字class或typename修饰,选项B错误;函数的返回类型需要放在函数名之前,关键字template和模板形参表之后,选项C错误;函数必须要声明返回类型,选项D错误。答案为A选项。
提交答案
关闭