A function template is a blueprint used by compiler for generating type-specific fuctions. The compiler ordinarily deduces the template parameter(s) using the arguments of the call.
A class template is a blueprint used by compiler for generating type-specific classes. The compiler cannot deduce the template parameter(s) for a class template.