【发布时间】:2013-12-14 01:51:13
【问题描述】:
我正在尝试创建一个队列程序,但我不断收到错误,即“前”和“后”未在此范围内声明。谁能告诉我我做错了什么?这是我的代码。我已经将它与我编写的其他代码进行了比较,并且我以完全相同的方式声明它们。
#include <iostream>
using namespace std;
class node{
public:
int data;
node *next;
node();
};
class que{
public:
node *front;
node *rear;
void enq(int a);
void deq();
void pq();
que();
};
que::que(){
front = NULL;
rear = NULL;
}
node::node(){
data = 0;
next = NULL;
}
void enq(int a){
node *temp;
temp = new node;
temp->data = a;
if(front == NULL && rear == NULL){
front = rear = temp;
}
else{
rear->next = temp;
rear = temp;
}
}
void deq(){
node *temp;
temp = front;
if(front == NULL)
return;
if(temp == rear)
front = rear = NULL;
else{
temp = temp->next;
}
delete temp;
}
void pq(){
node *curs;
curs = front;
if(front == NULL)
return;
while(1){
cout << curs->data;
if(curs->next == NULL)
break;
else
curs=curs->next;
}
}
int main(){
que *Q = new que;
return 0;
}
【问题讨论】:
-
您在方法定义前面缺少
que::。 -
啊,谢谢,我不敢相信我错过了,我已经盯着这个看了一个小时
标签: c++ queue declaration