我正在尝试对一些类(LinkedListNode和LinkedList)进行模板化,这样

template <class T>
class LinkedListNode{
    public:
        T data;
        LinkedListNode *next;
        LinkedListNode();
};

在我的LinkedList类中,我有私有(private)变量:
private:
    LinkedListNode *head;
    //iterator for traversing the list
    LinkedListNode *current;

};

编译时,我收到奇怪的错误:



如果说我的LinkedListNode也被声明,为什么会出现这些错误?

最佳答案

LinkedListNode不是类型,但是LinkedListNode<T>是类型。在定义LinkedListNode::LinkedListNode()之前,请确保先对该文件头文件implement #include and other member functions in the header fileLinkedList<T>进行编码。

template <class T>
class LinkedList
{
private:
    LinkedListNode<T> *head;
    LinkedListNode<T> *current;
}

关于c++ - 创建模板类后,不是类, namespace 还是枚举?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35871847/

10-09 22:46