帮我看看这段程序哪里错了

来源:百度知道 编辑:UC知道 时间:2024/06/18 09:56:19
#include<iostream>
using namespace std;
template<class T>
class Node {
friend space<T>;
private:
T data;
int link;
};
template<class T>
class space {
public:
space(int Maxspacesize=100);
~space() {delete [] node;}
int Allocate();
void Deallocate(int &i);
private:
int NunberOfNodes,frist;
Node<T> *node;
};
template<class T>
space<T>::space(int Maxspacesize)
{
NimberOfNodes = Maxspacesize;
node = new Node<T>[NumberOfNodes];
for(int i = 0;i < NumberOfNodes-1;i++)
node[i].link = i+1;
node[NumberOfNodes-1].link = -1;
first = 0;<

就我的知识范围内,好像不能声明类为友元,只能声明函数为友元

刚才也学习了下,看文章说声明友元类的方法是
template <class T> friend class space;
或是
template <class T> friend class space<T>;
,但我在VC6上试了不行,不知道你的编译器行不行