单项选择题

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

A.template <typename T> T abs(T {return x<0-x:x;}
B.template class <T> T abs(T {return x<0-x:x;}
C.template T<class T>abs(T {return x<0-x:x;}
D.template T abs(T {return x<0-x:x;}