Template parameters (C++ only)

There are three kinds of template parameters:
  • Type template parameters
  • Non-type template parameters
  • Template template parameters

C++11
Template parameter packs can also be a kind of template parameter. For more information, see Variadic templates (C++11).
C++11

You can interchange the keywords class and typename in a template parameter declaration. You cannot use storage class specifiers (static and auto) in a template parameter declaration.