标题:“未将对象引用设置到对象的实例”???
取消只看楼主
black_eagle
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-8-19
 问题点数:0 回复次数:0 
“未将对象引用设置到对象的实例”???

我正试着写个 单链表,但是插入操作一直有问题,检查了多遍也看不出算法的错误。望各位大哥大姐指点指点啊!


错误提示说:“ 未处理的“System.NullReferenceException”类型的异常出现在 temp.exe 中。
其他信息: 未将对象引用设置到对象的实例
。” 不懂。

#include <iostream>
#include <string>
using namespace std;

class linklist{
public:
int data;
linklist *next;
};

class operate{
public:
operate(){ init_list(sq);}
void init_list(linklist *&sq);
int get_lenth(linklist *sq);
void insert_elem(linklist *sq,int e,int i);
void display(linklist *sq);
private:
linklist *sq;
};

//---------------------类operate的成员函数定义:--------------------------

void operate::init_list(linklist*&sq){//初始化表,并为其提供一个头节点.
sq=new linklist;
sq->next=NULL;
}
int operate::get_lenth(linklist*sq){//返回表长.
linklist *p=sq;
int len=0;
while(p->next!=NULL){
p=p->next;
len++;
}
return len;
}
void operate::insert_elem(linklist *sq,int e,int i){//在第i个位置插入记录e.
if((i>get_lenth(sq)+1)||(i<=0)){
cout<<"Inserting elem failed!"<<endl;
}
linklist *p=sq;
linklist *insert;
insert=(linklist*)malloc(sizeof(linklist));
insert->data=e; insert->next=NULL;
int j=0;
while(j+1<i){
p=p->next;
j++;
}
insert->next=p->next;
p->next=insert;
}
void operate::display(linklist *sq){//输出表中各元素.
linklist *p=sq;
while(p){
cout<<p->data<<' ';
p=p->next;
}
}

//-----------------------------主函数:-----------------------------
void main()
{
linklist *base;
operate action;
action.insert_elem(base,10,1);
action.display(base);
}

搜索更多相关主题的帖子: 实例 对象 
2006-08-23 15:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-85731-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.141256 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved