seg fault 11,对象指针,ADT实现

时间:2015-09-27 20:24:46

标签: c++ pointers object fault

问题
不了解发生了什么逻辑错误。
试图在main.cpp测试中调用函数clear_queue()
我的GUESS发生在最后一个要出列的对象的while循环中,但我不确定到底发生了什么,我认为它因为要解决一个太多而

我的Queue类变量
    - 开始(指向节点类对象的指针)
    - 结束(指向节点类对象的指针)
    - count(int)

Node班级
-constructor有一个param(int数据)
-next(指针)
-value(int)

enqueue()
enque实施
制作新节点对象,更新队列指针,存储数据,增量计数 用一个参数"数据" beginning->value

中的商店



dequeue & clear_queue()
//需要返回出列值
queue.cpp

    int Queue::dequeue() {

            if (! isEmpty()) {

            Node *temp = beginning;
            int tempValue = temp->value;

            temp->value = tempValue;
            beginning = beginning->next;

            delete temp;
            count --;
            return tempValue;
        }

}

queue_test.cpp

void QueueTest::clear_queue() {
  test_header( "clearing the queue (isEmpty and dequeue)" );

  while( ! queue->isEmpty() ) {
    queue->dequeue();
  }

//测试消息输出消息,应输出"传递"如果子程序成功完成。
//测试标题只输出消息
//得到段错:11
输出

--- Testing clearing the queue (isEmpty and dequeue) ---

RUN FINISHED; Segmentation fault: 11; real time: 290ms; user: 0ms; system: 0ms

0 个答案:

没有答案