单项选择题

下列关于函数模板的定义中,合法的是( )。

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;}