The template arguments are placeholders, their scope is limited to that one declaration alone.
Therefore, the T
in
template<class T> struct Alloc { };
is not connected to the T in
template<class T> using Vec = vector<T, Alloc<T>>;
similarly as you could use the same parameter name in different function declarations.
3
solved Two time template