•The template formal argument list can contain three different kinds of arguments:
•identifiers that represent type dependencies,
•identifiers that represent values, and i
•dentifiers that represent type dependencies based on a template class.
•A type dependency allows the identifier listed to be substituted for the data type specified by the client at
instantiation time. More than one
identifier can be listed, each
prefaced by the keyword class or typename
to indicate that this is a type
dependency.