We learned about function and class templates and their instantiations in previous two sections. We know that, when defining a template, its parameter list need to be given. While we instantiate it, the corresponding argument list must be provided. In this section, we will further study the classifications and details of these two lists.
Exploring template parameters and arguments
Template parameters
Recall the following syntax, which is used to define a class/function template. There is a <> symbol after the template keyword, in which one or more template parameters must be given:
//class template declaration
template <parameter-list> class-declaration
//function template declaration
template <parameter-list>...