用C++描述链表,和友元类的矛盾定义结点:templateclass Tclass CNode{friend CListTprivate:T dataCN
用C++描述链表,和友元类的矛盾
定义结点:
template<class T>
class CNode
{
friend CList<T>;
private:
T data;
CNode *pNext;
}
定义表类:
template<class T>
class CList
{
CNode *pHead;
CNode *pEnd;
.....
}
这样就有问题了,定义结点CNode 的时候要加一句friend CList<T>;但此时CList并没有定义,编译不通过;
如果把CList类的定义放在前面,那么CNode编译器又不认识了..
怎么解决这个问题
[解决办法]
在class CNode先前声明CList类
