58 4 D:\Dev-Cpp\数据结构\学生信息管理系统(单链表).cpp [Error] cannot convert 'LNode**' to 'LinkNode* {aka LNode*}' in assignment
时间: 2023-11-27 08:52:28 浏览: 95
这个错误的意思是将 `LNode**` 类型的指针赋值给了 `LNode*` 类型的指针,这是不允许的。在 C++ 中,指针类型必须匹配才能进行赋值操作。
解决方法是将 `LNode**` 类型的指针转换成 `LNode*` 类型的指针,例如:
```cpp
LNode* p = *pp; // 将 LNode** 类型的指针 pp 转换成 LNode* 类型的指针 p
```
请注意,这只适用于指向单个节点的指针,如果 `LNode**` 是指向链表头节点的指针,那么需要先判断指针是否为空,然后再进行转换操作。
相关问题
59 40 D:\Dev-Cpp\数据结构\学生信息管理系统(单链表).cpp [Error] request for member 'data' in '* s', which is of pointer type 'LinkList {aka LNode*}' (maybe you meant to use '->' ?)
这个错误提示是因为你使用了指针变量s来访问其指向的结构体变量中的成员data,但是你使用了点号.而不是箭头->来访问该成员。
你可以将点号.改为箭头->,这样就可以正确地访问结构体的成员了。具体代码如下:
```
cout << "学号:" << s->data.id << endl;
cout << "姓名:" << s->data.name << endl;
cout << "性别:" << s->data.sex << endl;
cout << "出生日期:" << s->data.birthday << endl;
cout << "成绩:" << s->data.score << endl;
```
注意,如果你使用的是指针变量,就要使用箭头->来访问其指向的结构体变量中的成员;如果你使用的是结构体变量,就可以使用点号.来访问其成员。
/*单链表的创建 随机输入一些数据,请采用尾插法创建一个带头结点的单链表,将数据存入,然后顺序遍历该单链表并输出数据,以查看是否创建成功。 输入:6 3 5 2 9 0 输出:6 3 5 2 9 备注:0代表输入结束*/ #include<stdio.h> #include<malloc.h> typedef int ElemType; typedef struct Node{ ElemType data; struct Node *next; }LNode,*Linklist; void Initial(Linklist * L){ (*L)=(Linklist)malloc(sizeof(LNode)); (*L)->next=NULL; } void TailCreate(Linklist L){ LNode *r,*s; int m; r=L; while(1){ scanf("%d",&m); if(m==0){ break; } s=(LNode*)malloc(sizeof(LNode)); s->data=m; r->next=s; r=s;} r->next=NULL; } void show(Linklist L){ LNode *temp; temp=L->next; while(temp!=NULL){ printf("%d ",temp->data); temp=temp->next; } } int main(){ Linklist L; Initial(&L); TailCreate(L); show(L); return 0; }C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\bin\ld.exe cannot open output file C:\Users\王淑婧\Desktop\sjjg.1_3.exe: Permission deniedC:\Users\王淑婧\Desktop\collect2.exe [Error] ld returned 1 exit status代码怎么修改
这个错误提示是因为你的编译器没有权限在指定目录下创建可执行文件。可以尝试将代码保存到其他目录下,或者以管理员身份运行编译器。
另外,代码中需要加上头文件<stdlib.h>,因为使用了malloc函数。同时,在TailCreate函数中,应该将头结点r初始化为L,而不是r=L->next。修改后的代码如下:
阅读全文