请问我这段程序为什么会崩溃掉?

azhou88 2013-10-15 05:03:37
#include <iostream>
using namespace std;
class queue
{
private:
struct node{int m;struct node *next;};
enum{q_size=10};
node * front;
node * rear;
int items;
const int qsize;
public:
void get()
{
cout<<"现在有元素"<<items<<endl;
}
~queue()
{
node * temp;
while (front !=NULL)
{
temp = front;
front = front->next;
delete temp;
}
}
queue(int qs):qsize(qs)
{
front =rear =NULL;
items =0;

}
// 入队
bool enqueue(const int & m)
{
if(isfull())
return false;
node * add=new node;
if(add==NULL)
return false;
add->m=m;
items++;
if(front==NULL)
front=add;
else
rear =add;
return true;

}
bool dequeue(int m)
{
if(front==NULL)
return false;
m=front->m;
items--;
node * temp=front;
front=front->next;
delete temp;
if(items==0)
rear=NULL;
return true;
}
//.............................................
bool isfull()
{
return items==qsize;
}
bool isempty()
{
return items==0;
}

};

int main()
{
queue a(4);

a.enqueue(33);
a.enqueue(22);




a.get();
return 0;
}

...全文
101 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
azhou88 2013-10-15
  • 打赏
  • 举报
回复
我直接在汉函数添加的时候对他初始化了。效果应该相同吧。 add->next=NUll;
azhou88 2013-10-15
  • 打赏
  • 举报
回复
spirit008 正解。感谢。你的这只眼睛好漂亮
木头菇 2013-10-15
  • 打赏
  • 举报
回复
接我上贴: struct node{ int m; struct node *next; node() : next(NULL){} };
木头菇 2013-10-15
  • 打赏
  • 举报
回复
你的next没有初始化
赵4老师 2013-10-15
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。
ztenv 版主 2013-10-15
  • 打赏
  • 举报
回复
修改代码后没有清除并重新编译吧?
max_min_ 2013-10-15
  • 打赏
  • 举报
回复
跑了下没有崩溃阿! 输出 现在有元素 2

64,685

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧