Shepard_tju 2018-11-29 11:03 采纳率: 100%
浏览 2689
已采纳

C++实现链式队列,在Xcode中遇到Thread 1: EXC_BAD_ACCESS (code=1, address=0x8)

代码是链式队列的构建,编译过程没问题,但是运行时提示Thread 1: EXC_BAD_ACCESS (code=1, address=0x8)。请问是什么原因造成的??这个问题已经困扰我很多次了
图片说明

 #include <iostream>
using namespace std;

class qnode{
public:
    int data;
    qnode *link;
};

class linkquene{
public:
    void QInit(linkquene &Q);
    void QInsert(linkquene &Q, int a);
    void QDelete(linkquene &Q);
    int isempty(linkquene &Q);
    void Qshow(linkquene &Q);
private:
    qnode *rear;
    qnode *front;
};
void linkquene::QInit(linkquene &Q)
{
    qnode *p = new qnode;
    p->link = NULL;
    Q.front = p;
    Q.rear = p;
}
int linkquene::isempty(linkquene &Q)
{
    if(Q.rear == Q.front){
        return 1;
    }
    else return 0;
}
void linkquene::QInsert(linkquene &Q, int a)
{
    qnode *n = new qnode;
    n->link = NULL;
    n->data = a;
    Q.rear->link = n;
    Q.rear = n;
}
void linkquene::QDelete(linkquene &Q)
{
    qnode *n;
    n = Q.front->link;
    Q.front->link = Q.front->link->link;
    if(Q.rear == n)
        Q.rear = Q.front;
    delete n;
}
void linkquene::Qshow(linkquene &Q)
{
    qnode *p;
    p = Q.front->link;
    while(p != NULL)
    {
        cout<<p->data<<endl;
        p = p->link;
    }
}
int main(int argc, const char * argv[]) {
    linkquene q;
    linkquene *Q;
    Q = new linkquene;
    q.QInsert(*Q, 10);
    q.QDelete(*Q);
    q.QInsert(*Q, 7);
    q.QInsert(*Q, 1);
    q.QInsert(*Q, 8);
    q.QDelete(*Q);
    q.Qshow(*Q);
    return 0;
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2018-11-29 16:59
    关注

    Q = new linkquene;
    下面加上
    q.QInit(*Q);

    不过深究起来,你对面向对象完全不懂。你的所有成员函数里都带上了一个linkquene &Q,既然如此,那么这些函数和传统的c语言的函数又有什么分别,再说你这个QInit,忘记调用了吧,难道你不知道C++可以用构造函数?你属于买了汽车又拆了发送机,装上了栓牲口的架子。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 搭建三相栅极电路后高侧浮动地VS存在电容特性
  • ¥20 云卓h12pro 数传问题
  • ¥20 请问有人知道怎么用工艺库里面的sdb文件通过virtuoso导出来library里面每个cell的symbol吗?
  • ¥20 海思 nnie 编译 报错
  • ¥50 决策面并仿真,要求有仿真结果图
  • ¥15 关于路由器的路由协议配置
  • ¥15 springboot接入微信支付SDK
  • ¥50 大区域的遥感影像匹配 怎么做啊
  • ¥15 求解答:pytorch跑yolov8神经网络受挫
  • ¥20 Js代码报错问题不知道怎么解决