在'typename'之后需要一个合格的名字

ton*_*sok 4 c++

template<typename Type> class SingleList;

template<typename Type> class ListNode{
private:
    friend typename SingleList<Type>;  
    //this line appears"expected a qualified name after 'typename'"

    ListNode():nextNode(NULL){}

    ListNode(const Type item,ListNode<Type> *next=NULL):nodeData(item),nextNode(next){}

    ~ListNode(){
        nextNode=NULL;
}

public:
        Type GetData();
        friend ostream& operator<< <Type>(ostream& ,ListNode<Type>&);

private:
        Type nodeData;
        ListNode *nextNode;
};
Run Code Online (Sandbox Code Playgroud)

代码:

friend typename SingleList<Type>;  
Run Code Online (Sandbox Code Playgroud)

期望'typename'之后的合格名称以及如何解决它.谢谢.

Ben*_*igt 5

你要

friend class SingleList<Type>;
Run Code Online (Sandbox Code Playgroud)

typename可以class在模板参数声明中使用,而不是在任何地方使用.