-2

编辑:修复了错误

这是我第一次使用模板并且遇到了令人讨厌的语法错误。我不知道错误在哪里,因为编译器告诉我我缺少一个分号,然后是数百个错误。然而,一切看起来都很好。我几乎可以肯定没有分号丢失。

谁能帮我大海捞针??PS 错误发生在 List 的构造函数的定义中,并说缺少';' 在'<'之前(即下面的代码)

template <typename T>
class Node
{
template <typename T>
friend class List<T>;

public:
//Default constructor
Node();

//Copy constructor
Node(const Node<T> & copy);

//Overloaded assignment operator
Node<T> &operator=(const Node<T> & rhs);

//Destructor
~Node();

//Methods
T CreateNode(const T & T);
T &getData();

private:
//Data members
T data;
Node * mNext;
};
4

2 回答 2

1

我不能保证这是唯一的问题,但这看起来很可疑:

T &List<T>::Front() const
T &List<T>::Back() const
void Purge();

猜测一下,您打算声明三个单独的函数,在这种情况下它缺少几个分号,应该看起来更像这样:

T &List<T>::Front() const;
T &List<T>::Back() const;
void Purge();

...或者,很可能:

T &Front() const;
T &Back() const;
void Purge();
于 2013-05-22T03:57:37.010 回答
0

发现错误。它在我的 node.h 文件中。代码是

friend class List<T>;

我删除了它,它起作用了。:)

于 2013-05-22T04:09:07.747 回答