Suppose the following declaration:
template <typename T> struct MyTemplate;
The following definition of the partial specialization seems to use the same letter T
to refer to different types.
template <typename T> struct MyTemplate<T*> {};
For example, let's take a concrete instantiation:
MyTemplate<int *> c;
Now, T
in template <typename T>
is int *
. However, T
in MyTemplate<T*>
is int
!
How is the definition of the partial specialization read correctly?
Aucun commentaire:
Enregistrer un commentaire