'int ' differs in levels of indirection from 'struct _iobuf *'
时间: 2023-12-22 11:02:43 浏览: 94
这个错误通常出现在你试图将一个'int'类型的值赋值给一个指向'struct _iobuf'结构体的指针变量上。这两种类型的数据是完全不同的,因此编译器发出了这个错误提示。
要解决这个问题,你需要查找并修复代码中的类型不匹配问题。检查变量的声明和赋值语句,确保它们的类型是一致的。如果你不确定如何修复这个问题,请在代码论坛上发帖求助。
相关问题
int()differs in levels of indirection from list_t*()
这个错误通常出现在函数声明和定义不匹配的情况下。具体来说,你可能有一个函数声明如下:
```
int func(list_t*);
```
但是在定义该函数时,却写成了:
```
int func(list_t);
```
这样做会出现"int()differs in levels of indirection from list_t*()"的错误提示,因为这两个函数声明的参数类型不同。第一个声明的参数是指向`list_t`类型的指针,而第二个声明的参数是`list_t`类型的变量。
要解决这个错误,你需要检查你的函数声明和定义,确保它们的参数类型和数量是匹配的。在本例中,你需要将函数定义中的参数类型修改为指向`list_t`类型的指针,即:
```
int func(list_t* ptr) {
// function body
}
```
list_t* list_new(){list_t* list=NULL;list=(list_t*)malloc(sizeof(list_t));list->head=NULL;return(list);)}报错int()differs in levels of indirection from list_t*()
这个错误通常是因为在调用 `list_new()` 函数时,有一个不匹配的类型。可能是因为你的函数原型和调用不匹配,或者你在调用时没有正确的传递参数。
请确保你在调用 `list_new()` 函数时不需要传递任何参数,并且你在调用该函数时,使用了正确的语法,如下所示:
```
list_t* my_list = list_new();
```
如果你仍然遇到问题,请检查你的代码,确保在 `list_t` 结构体中没有定义任何错误,并且你在调用 `list_new()` 函数时,使用了正确的头文件和库。
阅读全文