本文共 424 字,大约阅读时间需要 1 分钟。
写队列程序时,分配内存空间时报错。
Q->front = Q->rear = (QueuePtr)malloc(sizeof(QNode));
修改Q 的类型,去掉*,不设置指针类型。修改后代码如下:
typedef struct QNode { char data; struct QNode *next;}QNode,*QueuePtr;typedef struct LinkQueue { QueuePtr front; QueuePtr rear;}LinkQueue;int InitQueue(LinkQueue &Q) { Q.front = Q.rear = (QueuePtr)malloc(sizeof(QNode)); if (!Q.front) { cout << "空间分配失败" << endl; exit(OVERFLOW); } Q.front = NULL; return 1;}