Nothing. It is a syntax error.
Since a template declaration should specify placeholders for types, you cannot give them any explicit types such as pointer-types.
So...
...is fine, but...Code:template<typename T> class Foo{};
...is not.Code:template<typename T*> class Foo{};