我正在尝试创建一个Queue程序,但我不断收到错误,在此范围内未声明“front”和“rear”。谁能告诉我我做错了什么?这是我的代码。我将它与我编写的其他代码进行了比较,并且我已经以完全相同的方式声明了它们。
#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;
}
答案 0 :(得分:3)
在您的代码中,您开始定义以下函数:
void pq(){
但这不是课程的一部分,你必须说:
void deq::pq(){