Hello dear people of the underworld called the internet.
Lets say we have a class called X with the template parameters(Y):
template c
Not with X*. Consider this alternative:
X*
class BaseX { //... }; template class X : public BaseX { //... };
Since BaseX is a complete type, you can have BaseX* that references some X once you've defined it.
BaseX
BaseX*
X