我不断收到错误“'{'token {”
之前的预期类名我尝试过多种不同的方法,但是没有找到。如果有人能帮助我,我将非常感激。 我的LinkedList.h文件
#ifndef LINKEDLIST_H
#define LINLEDLIST_H
#include <iostream>
#include "Node.h"
using namespace std;
template <class T>
class LinkedList: public Node
{
private:
Node<T>* head;
Node<T>* current;
Node<T>* tail;
public:
LinkedList(){
}
virtual ~LinkedList(){
}
};
#endif
和我的Node.h文件
#ifndef NODE_H
#define NODE_H
#include <iostream>
using namespace std;
template <class T>
class Node{
private:
T data;
Node<T>* pNext;
public:
Node(){
pNext = NULL;
}
~Node(){
delete this->pNext;
}
};
#endif
答案 0 :(得分:5)
Node
是模板,而不是类型。 Node<T>
是一种类型。使用
template <class T>
class LinkedList: public Node<T>
{
...
};
<强> PS 强>
作为设计选择,从LinkedList<T>
继承Node<T>
是没有意义的。您应该只能使用
LinkedList<T>
template <class T>
class LinkedList
{
private:
Node<T>* head;
Node<T>* current;
Node<T>* tail;
};