G
gaisy
Unregistered / Unconfirmed
GUEST, unregistred user!
template <class T>
class ChainNode {
//TODO: 这里添加定义友元类 Chain
//friend class Chain<T>;
//这里报错
//private:
public: //由于无法实现友元类,这里开放访问限制
T data;
ChainNode<T> *link;
};
template <class T>
class Chain {
public:
Chain() {first = 0;}
~Chain();
bool IsEmpty() const {return first == 0;}
int Length() const;
bool Find(int k, T&
x) const;
int Search(const T&
x) const;
Chain<T>&
Delete(int k, T&
x);
...
报错提示:
g:/My C++ Projects/ChainList/ChainList.h(5) : error C2059: 语法错误 : “<”
g:/My C++ Projects/ChainList/ChainList.h(9) : 参见对正在编译的类模板实例
化“ChainNode<T>”的引用
g:/My C++ Projects/ChainList/ChainList.h(5) : error C2238: 意外的标记位于“;”之
前
g:/My C++ Projects/ChainList/ChainList.h(26) : error C2989: “Chain” : 模板类已
经定义为非模板类
g:/My C++ Projects/ChainList/ChainList.h(5) : 参见“Chain”的声明
g:/My C++ Projects/ChainList/ChainList.h(29) : error C2988: 不可识别的模板声明/
定义
g:/My C++ Projects/ChainList/ChainList.h(29) : error C2059: 语法错误 : “<”
g:/My C++ Projects/ChainList/ChainList.h(29) : error C2588: “::~Chain” : 非法
的全局析构函数
g:/My C++ Projects/ChainList/ChainList.h(29) : fatal error C1903: 无法从以前的错
误中恢复;正在停止编译
class ChainNode {
//TODO: 这里添加定义友元类 Chain
//friend class Chain<T>;
//这里报错
//private:
public: //由于无法实现友元类,这里开放访问限制
T data;
ChainNode<T> *link;
};
template <class T>
class Chain {
public:
Chain() {first = 0;}
~Chain();
bool IsEmpty() const {return first == 0;}
int Length() const;
bool Find(int k, T&
x) const;
int Search(const T&
x) const;
Chain<T>&
Delete(int k, T&
x);
...
报错提示:
g:/My C++ Projects/ChainList/ChainList.h(5) : error C2059: 语法错误 : “<”
g:/My C++ Projects/ChainList/ChainList.h(9) : 参见对正在编译的类模板实例
化“ChainNode<T>”的引用
g:/My C++ Projects/ChainList/ChainList.h(5) : error C2238: 意外的标记位于“;”之
前
g:/My C++ Projects/ChainList/ChainList.h(26) : error C2989: “Chain” : 模板类已
经定义为非模板类
g:/My C++ Projects/ChainList/ChainList.h(5) : 参见“Chain”的声明
g:/My C++ Projects/ChainList/ChainList.h(29) : error C2988: 不可识别的模板声明/
定义
g:/My C++ Projects/ChainList/ChainList.h(29) : error C2059: 语法错误 : “<”
g:/My C++ Projects/ChainList/ChainList.h(29) : error C2588: “::~Chain” : 非法
的全局析构函数
g:/My C++ Projects/ChainList/ChainList.h(29) : fatal error C1903: 无法从以前的错
误中恢复;正在停止编译