In the template prefix
template <class T>
what kind of variable is the parameter T?
a. T must be a class.
b. T must not be a class.
c. T can be only types built into the C++ language.
d. T can be any type, whether built into C++ or defined by the
programmer.
d. Any type, whether a primitive type (provided by C++) or a type defined by the user (a class or struct type, an enum type, or a defined array type, or int, float, double, etc.).