我试图为我的学校工作制作信息亭程序。编译时不会发出任何错误信号。但是当我尝试初始化队列列表时,它说我不能使用nullptr ...我不明白我的代码出了什么问题。
typedef struct
{
int data;
struct Node* link;
}Node;
typedef struct
{
Node* front;
Node* rear;
}QueueTypeNode;
QueueTypeNode* init_node(QueueTypeNode* head)
{
head->front= NULL;
head->front->link = head->rear;
head->rear = NULL;
return head;
}
答案 0 :(得分:1)
这是错误的:
head->front= NULL;
head->front->link = head->rear;
您将head->front
分配给NULL,然后通过访问head->front->link
立即取消引用NULL指针。您无法执行此操作,因为它会导致未定义的行为,并且可能会给您所观察到的运行时错误。