我在用c++写学生成绩管理系统
我在写添加成员信息模块的时候总是访问权限冲突,请大家指出我的问题
Node* creat() {// 产生一个新链表,仅1节点
Node* head = NULL;
head = (Node*)malloc(sizeof(Node)); // 新申请一个节点空间
if (head == NULL)
{
printf("申请空间出错。");
exit(1);
}
head->next = NULL; // 新建的唯一节点也是头、也是尾
// 可以在此加语句输入数据
return head;
}
//添加学生信息
void Add(Node* head ,string name,int age) {
Node *p, *q;
if (head == NULL) {
head = creat();
head->data.S_name = name;
head->data.S_age = age;
}
else {
p = head;
while (p->next != NULL)
p = p->next;
Node* q = (Node*)malloc(sizeof(Node));
if (q == NULL) {
cout << "申请空间错误" << endl;
exit(1);
}
q->next = NULL;
p->next = q;
q->data.S_name = name;
q->data.S_age = age;
}
return ;
}
我学了很多网课的但是总是报错
从目前代码看,Add函数有点问题,改为
void Add(Node* &head ,string name,int age)
因为函数中可能修改head指针