出错 solution.c: In function ‘removeNthFromEnd’ Line 21: Char 22: error: invalid operands to binary == (have ‘LNode’ {aka ‘struct LNode’} and ‘LNode’ {aka ‘struct LNode’}) [solution.c] if((*myhead) == (*tmp)) ~~~~~~~~~ ^~ ~~~~~~
时间: 2023-08-13 14:08:28 浏览: 184
这个错误是由于在比较两个结构体类型 `LNode` 的实例时使用了 `==` 运算符,而 C 语言中不能直接比较结构体类型的实例。
要解决这个错误,你可以考虑使用适当的比较操作来比较结构体类型的实例。你可以根据结构体内的具体成员变量来进行比较,例如比较结构体内的某个整型变量的值。
另外,如果你想判断两个结构体是否相等,可以自定义一个函数来逐个比较结构体内的成员变量,并返回相等或不相等的结果。
希望这能帮助到你!如果你还有其他问题,请随时提问。
相关问题
error: invalid operands to binary == (have ‘struct list_head’ and ‘void *’)
这个错误通常是由于在代码中使用了错误的数据类型导致的。在比较两个数据类型时,必须确保它们是相同的数据类型。在这种情况下,您正在比较一个结构体类型“list_head”和指针类型“void *”,这是不兼容的。
要解决这个问题,您需要检查代码中使用 == 操作符进行比较的数据类型,并确保它们具有相同的数据类型。如果需要将某个数据类型转换为另一个数据类型,请使用正确的类型转换操作符。例如,如果您需要将“void *”指针转换为“list_head”结构体类型,可以使用强制类型转换操作符,如下所示:
```
struct list_head *head = (struct list_head *)ptr;
```
这将把“void *”指针类型转换为“struct list_head”类型,从而解决编译错误。
解释这个报错 error: invalid operands to binary == (have ‘struct timeval’ and ‘int’)
这个报错是因为你在用等于运算符(==)比较两个不同数据类型的值,一个是struct timeval类型的值,另一个是int类型的值,这是无效的操作。在使用等于运算符比较两个值时,它们必须是相同的数据类型。
阅读全文