已采纳回答 / Object_is_null
析构函数中应该是delete [] m_pQueue;QueueTraverse() 中循环结束条件应该是i<m_iHead+m_iQueueLenMyQueue.h头文件中多出了一个#endif // _DEBUG#ifndef 和 #endif 是一一对应的,条件编译。
2016-11-24
已采纳回答 / 黑巫师0
不引用的话,形参element就是一个临时变量,和传入的实参不是一个东西,它是存储在栈空间中的,当函数执行完成后将自动释放。导致的结果就是没有将出队的元素赋给实参element,而是赋给了那个临时变量element,随着函数执行完成也就一起消失了。并不能由实参element带回出队元素,出队也就失去了意义。
2016-11-24
已采纳回答 / 慕姐7449621
因为在这个队列中操作的是 顾客 这个类的对象,队列的每一个元素都是顾客,在使用 MyQueue *p=MyQueue(4)新建一个容量为4队列时,必须要在堆中申请一个对象数组的内存,也就是 m_pQueue=new Customer[4],指向一个对象数组的指针必须是对象指针,所以要将 int *m_pQueue改为 Customer *m_pQueue
2016-11-18