58 4 D:\Dev-Cpp\数据结构\学生信息管理系统(单链表).cpp [Error] cannot convert 'LNode**' to 'LinkNode* {aka LNode*}' in assignment
时间: 2023-11-27 17:52:28 浏览: 49
这个错误的意思是将 `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;
```
注意,如果你使用的是指针变量,就要使用箭头->来访问其指向的结构体变量中的成员;如果你使用的是结构体变量,就可以使用点号.来访问其成员。
136 14 C:\Users\寒色晓光\Desktop\数据结构课程设计.cpp [Error] invalid initialization of reference of type 'LNode&' from expression of type 'LinkList {aka LNode*}
这个错误可能是因为你在某处尝试将一个 `LinkList` (也就是 `LNode*` 类型)的指针初始化为一个 `LNode&` 引用类型。
在 C++ 中,引用是一个别名,必须在初始化时绑定到一个已存在的对象上。因此,你不能将一个指针直接初始化为一个引用类型,而应该使用引用类型的指针或引用类型的参数来传递指针。
例如,如果你有一个结构体 `LNode` 和一个函数需要以引用类型的参数来接受它,你可以这样声明函数:
```
void someFunction(LNode*& nodeRef) {
// Function code here
}
```
这将允许你传递一个指向 `LNode` 的指针,并在函数中修改它。如果你需要返回一个指向 `LNode` 的指针,你可以返回一个指针类型的引用,例如:
```
LNode*& getLNodePtr() {
LNode* nodePtr = new LNode();
return nodePtr;
}
```
这将允许你返回一个指向 `LNode` 的指针,并在调用方中使用它。