c++ - 期望在 'typename' 之后有一个合格的名字

标签 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;
};

代码:

friend typename SingleList<Type>;  

在“typename”之后需要一个合格的名称以及如何解决它。谢谢。

最佳答案

你想要

friend class SingleList<Type>;

typename 可以在模板参数声明中代替 class,但不是到处都是。

关于c++ - 期望在 'typename' 之后有一个合格的名字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17998121/

相关文章:

c++ - 在作用域之间传递数组变量

c++ - 有没有更快的方法从无序集合中删除和存储元素

c++ - Lambda 捕获和具有相同名称的参数 - 谁会影响另一个? (clang vs gcc)

c++ - 节点句柄与 std::unique_ptr

c++ - GetWindowLongPtr 返回失败检索用户数据

android - 使用 Android 原生 Binder 发送自定义对象

c++ - 为什么这个 OpenCV 代码会出现段错误?

c++ - 名称与类方法冲突

c++ - C++ 函数参数中的求值顺序

c++ - 在 CLion IDE 中配置 C++ Google 风格