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() {}
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() {}