天天看點

C++報錯:讀取位置 0xFFFFFFFFFFFFFFFF 時發生通路沖突

問題截圖

C++報錯:讀取位置 0xFFFFFFFFFFFFFFFF 時發生通路沖突

 問題來源

Q->front = Q->rear = (QueuePtr)malloc(sizeof(QNode));      

解決方案

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;
}      

繼續閱讀