求大神帮忙调试一下

鹏割 2014-11-02 03:44:09
贴代码,
#ifndef QUEUETP_H
#define QUEUETP_H

template< class Item >
class QueueTP
{
private:
enum{ Q_SIZE = 10 };
class Node
{
public:
Item item;
Node *next;
Node( const Item & i ) : item(i), next(0) {}
};
Node * front;
Node *rear;
int items;
const int qsize;
QueueTP( const QueueTP & q ): qsize(0) {}
QueueTP & operator=( const QueueTP & q ) { return *this; }

public:
QueueTP(int qs = Q_SIZE);
~QueueTP();
bool isempty() const
{
return items==0;
}
bool isfull() const
{
return items== qsize;
}

int queuecount() const
{
return items;
}

bool enqueue(const Item &item);
bool dequeue(Item & item);
};

template <class Item>
QueueTP<Item>::QueueTP(int qs): qsize(qs)
{
front = rear = 0;
items=0;
}

template<class Item>
QueueTP<Item>::~QueueTP()
{
Node * temp;
while( front != 0 )
{
temp=front;
front = front->next;
delete temp;
}
}

template <class Item>
bool QueueTP<Item>:: enqueue( const Item & item )
{
if(isfull())
return false;
Node *add = new Node(item);
items++;
if(front == 0 )
front = add;
else
rear->next =add;
rear=add;
return true;
}
template < class Item>
bool QueueTP<Item>::dequeue(Item & item)
{
if(front == 0 )
return false;
item = front->item;
item--;
Node * temp = front;
front = front->next;
delete temp;
if(items == 0 )
rear = 0;
return true;
}
#endif


#include <iostream>
#include <string>
#include "queuetp.h"

int main()
{
using std::string;
using std::cin;
using std::cout;

QueueTP<string> cs(5);
string temp;

while(!cs.isfull())
{
cout<<"Please enter your name. You will be "
"served in the order of arrival. \n "
"name: ";
getline(cin, temp);
cs.enqueue(temp);
}

cout<<"The queue is full.Processing begins! \n";

while(!cs.isempty())
{
cs.dequeue(temp);
cout<<"Now processing "<<temp<< "....\n";

}
return 0;
}


,出现这个错误,调试不出来,或者说我不会调试。。。。
...全文
116 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
幻夢之葉 2014-11-03
  • 打赏
  • 举报
回复
LZ你是不是经常喜欢用 - - 这个表情?!
鹏割 2014-11-02
  • 打赏
  • 举报
回复
引用 2 楼 brookmill 的回复:
items--;
正解
brookmill 2014-11-02
  • 打赏
  • 举报
回复
items--;
wxf54318 2014-11-02
  • 打赏
  • 举报
回复
错误提示很明显,queuetp.h第83行,你的自减运算符“- -”,的两个“-”号之间的空格去掉

64,652

社区成员

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

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