怎么将指向模板类的指针封装在一个新的模板类中

如何将指向模板类的指针封装在一个新的模板类中?
假设这是我定义的模板类
//链表结点
template <class T>
class StackNode
{
T data;
StackNode *next;
};
我定义了用该接点组合的链表模板类
//链表本身
template <class T>
struct LinkStack  
{

StackNode<T>* top; 此处的StackNode<T>*是我定义的模板指针,这样是可以实现的
int count;
};
但假设当我不想用StackNode<T>*来表示指向模板类的指针,如果我想用typedef来替换这个概念
比如template <class T>
typedef StackNode<T>* LinkStackPtr;
这个时候,编译出错了,说指针模板必须要显示实例化,但是,如果我实例化了,比如typedef StackNode<char>* LinkStackPtr;,那这样的话跟我本身想用模板进行实例化背道而驰了,我希望是指针能和定义的模板结构体一样,通过main函数中的<int>或者<double>进行显示实例化,如何才能做到用typedef将指向模板的指针在不进行实例化之前跟StackNode<T>*一样封装到LinkStack中。。还是只能用我上面写的StackNode<T>*来做。。先谢谢各位了~~~~

------解决方案--------------------
你可以在模板类里头写typedef。