97 49 D:\大??\数据?峁?\小傻??cpp [Error] base operand of '->' has non-pointer type 'LNode'
时间: 2023-11-21 17:50:57 浏览: 38
这个错误提示表明在代码中使用了箭头运算符 ->,但是其左侧的操作数不是指针类型,而是 LNode 类型。箭头运算符只能用于指针类型的操作数,因为它是用来访问指针所指向的对象的成员的。
可能的原因是在代码中使用了一个非指针类型的变量或表达式,而没有使用取地址符 & 将其转换为指针类型。需要检查代码中是否存在这样的错误,并进行修改。
相关问题
[Error] D:\实验\888\main.cpp:137: error: base operand of `->' is not a pointer
这个错误通常是因为你在使用 `->` 运算符时,左侧的对象不是一个指针类型。在 C++ 中,`->` 运算符用于访问指针所指向的对象的成员。
检查一下你的代码中,左侧的对象是否为指针类型。如果不是,你可以使用 `.` 运算符来访问对象的成员。如果你想访问指针所指向的对象的成员,需要使用 `*` 运算符先解引用指针,然后再使用 `.` 或 `->` 运算符访问成员。例如,如果 `p` 是一个指向 `MyClass` 类型的指针,你可以使用 `(*p).member` 或者 `p->member` 来访问 `MyClass` 类的 `member` 成员。
42 43 C:\Users\86185\Desktop\课设\课??.cpp [Error] lvalue required as increment operand
这个错误是因为你试图对一个非左值进行自增操作,而C++中只有左值才能进行自增或者自减操作。左值指的是可以被取地址的表达式,比如变量、数组元素等等。而右值则不能被取地址,比如常量、表达式等等。
在你的代码中,可能存在类似于以下的语句:
```
42++;
```
或者
```
x + y++;
```
这些都是不合法的语句,因为42和x+y都是右值,不能进行自增操作。如果你想要改变它们的值,应该将它们赋给一个左值,然后再进行自增操作。