template class中定义的结构怎样在class外用?解决思路

template class中定义的结构怎样在class外用?
template <class   T> class   myclass
{
      struct   a
      {
            T   *item;
            a   *next;
      };
      typedef     a     *A;
      A     get();
     
}
定义
template <class   T>   A   myclass <T> ::get()
{
}
时出错.
是因为A不能在外部用?改为template <class   T> myclass <T> ::A   myclass <T> ::get()后还是不能编译通过.     请问应该怎么改??谢谢

------解决方案--------------------
template <class T> A myclass <T> ::get() {}

改为:

template <class T> typename myclass <T> ::A myclass <T> ::get() {}