我正在努力将一个项目添加到队列中,但总是会出现分段错误。
这是我的Node类:
class Node{
private:
int data;
Node* next;
public:
Node(int data);
Node *getNext();
void setNext(Node* next);
int getData();
void print();
Node();
};
Node::Node(int data){this->data = data; this->next = NULL;}
Node::Node(){this->data = 0; this->next = NULL;}
void::Node::print(){cout << data;}
Node*::Node::getNext(){return next;}
int::Node::getData(){return data;}
void::Node::setNext(Node* next){this->next = next;}
这是我的队列类:
class Queue{
private:
Node* head;
Node* tail;
public:
void enter(int value);
Queue();
};
Queue::Queue(){
head = NULL;
tail = NULL;
}
void Queue::enter(int item){
Node* newNode = new Node(item);
if(tail== NULL){
head = newNode;
}
else{
tail->setNext(newNode);
}
tail = newNode;
}
这是主要的:
Queue* queue = new Queue;
queue->enter(5);
我被困在这里几个小时,无法弄清楚为什么......
Node* newNode = new Node(item);
这是我得到分段错误的一行。