指针~!!又是指针~~~!!!那位高手能够解决这个问题!!!
下面这个程序在执行clistaction构造函数的时候无法对listnode,top赋值!!百思不得其解,希望各位指导!小弟这湘有礼了。
template<class T> class Clistaction;
template<class T>
class Clistnode
{
friend Clistaction<T>;
public:
Clistnode();
int delmark;
int recordno;
private:
Clistnode<T> *next;
Clistnode<T> *previous;
T data;
}
template<class T>
class Clistaction
{
public:
Clistaction(); //构造函数
~Clistaction(); //析构函数
int insert(const T&); //插入一条记录
int append(const T&); //增加一条记录
int modify(const T&); //修改当前记录
int del(); //删除当前记录
int eof(); //判断是否到记录首位置
int bof(); //判断是否到记录尾位置
int isempty(); //判断记录是否为空
int getrecordcount(); //得到当前记录总数
int getrecordno(); //得到当前记录号
int next(); //下一条记录
int previous(); //上一条记录
int skip(int); //记录跳转,有参数:表示向前或向后跳转几条记录
int gotop(); //直接到记录顶部
T gethandel();
private:
int counter();
Clistnode<T> *getnewnode();
int recordtotal; //当前记录数
int cursor; //当前记录号
Clistnode<T> *top;
Clistnode<T> *currentnode;
}
template<class T>
Clistnode<T>::Clistnode()
{
delmark = 0;
recordno = -1;
next = NULL;
previous = NULL;
}
//Clistaction函数
template<class T>
Clistaction<T>::Clistaction()
{
recordtotal = 0;
cursor = 0;
top = new Clistnode<T>; //我跟踪到的问题top始终为null
currentnode = top;
}
问题点数:60、回复次数:3Top
1 楼karma(无为MS MVP)回复于 2001-11-02 04:08:36 得分 30
what compiler are you using? It seems ok with VC++6Top
2 楼dsdc(研发中心)回复于 2001-11-02 17:27:03 得分 0
to karma很奇怪了我用的是borland c++3.0很经典的呀!!Top
3 楼bdsc()回复于 2001-11-02 18:48:31 得分 30
你的构造函数要用初始化成员列表,不是基本类型的成员初始化都要用初始化成员列表进行初始化。
形如:
template<class T>
Clistaction<T>::Clistaction():top(new xxxx)
Top




