关于友元类
template<class T>
class ChainNode
{
friend class Chain<T>;/*为什么这句要提示编译错误*/
private:
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);
Chain<T>& Insert(int k,const T& x);
void Output(ostream& out) const;
private:
ChainNode<T>* first;
};
定义成这样有什么问题吗?为什么设成模板类就编译不过,而一般的类就可以呢?
另:初来乍到,怎么加分呀?