类中的返回结构体指针的函数怎么在类外实现?

类中的返回结构体指针的函数如何在类外实现??
template<class T>
class linkedList
{
private:
struct node 
{
T value;
node *next;
node():next(NULL){};
node(const T &v,node *n=NULL):value(v),next(n){};
};
node *head;
int size;
protected:
node *get(int i)const;
//其他成员...
}
我是这样写的:
template<class T>
linkedList<T>::node* linkedList<T>::get(int i)const
{
if(i<0||i>size) std::cout<<"ERROR,OUT OF BOUND!"<<std::endl;
node *p=head->next;
for(int j=0;j<i;j++) p=p->next;
return p;
}
用vs2010编译时显示错误为:
警告 1 warning C4346: “linkedList<T>::node”: 依赖名称不是类型 c:\users\lion\documents\visual studio 2010\projects\linkedlist\linkedlist\linkedlist.h 77
错误 2 error C2143: 语法错误 : 缺少“;”(在“*”的前面) c:\users\lion\documents\visual studio 2010\projects\linkedlist\linkedlist\linkedlist.h 77
错误 3 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int c:\users\lion\documents\visual studio 2010\projects\linkedlist\linkedlist\linkedlist.h 77
请问这是为什么呢?应该如何解决啊?谢谢


------解决方案--------------------
linkedList<T>::node* linkedList<T>::get(int i)const
改为
typename linkedList<T>::node* linkedList<T>::get(int i)const
试试看
------解决方案--------------------
探讨
linkedList<T>::node* linkedList<T>::get(int i)const
改为
typename linkedList<T>::node* linkedList<T>::get(int i)const
试试看