爱问知识人 爱问教育 医院库

我又来问你问题了,呵呵,你看下这个程序是什么问题

首页

我又来问你问题了,呵呵,你看下这个程序是什么问题


        

提交回答
好评回答
  • 2018-04-01 08:20:35
    你的析构函数出问题了~~~
    因为你先调用了dequeue()函数,使last指针为NULL,然后在程序的时候,程序自动调用类的析构函数~Queue(),这时因为last为空,所以不存在last->next,你再调用语句last->next=0,系统就会报错。在上面再加个判断或者异常处理就好了。我就帮你把改的那部分贴上来了,其他就没看了~~(PS:感冒发烧了~~没精神看那么多~~~中午好点了才能上会网。。郁闷)
    代码如下:
    //析构函数
    Queue::~Queue(){
        NodePointer prev=last,ptr;
    	if(last!=NULL)
    		last->next=0;
    	ptr=prev;
    	while(ptr!=0)
    	{
    		ptr=prev->next;
    		delete prev;
    		prev=ptr;
    	}
    }

    l***

    2018-04-01 08:20:35

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 173-192
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):