内置函数“ malloc”的不兼容隐式声明

我得到了这个错误:

警告: 内置函数 malloc 的不兼容隐式声明

我正在努力做到这一点:

fileinfo_list* tempList = malloc(sizeof(fileinfo_list));

仅供参考,目前使用的结构是:

typedef struct {
fileinfo** filedata;
size_t nFiles;
size_t size;
size_t fileblock;
} fileinfo_list;

我没觉得我做错了什么。我正在创建一个大小为1 x fileinfo_listtempList

210624 次浏览

你可能忘记了 #include <stdlib.h>

你错过了 #include <stdlib.h>

你需要 #include <stdlib.h>。否则它被定义为 int malloc(),这是不兼容的内置类型 void *malloc(size_t)

这种警告的唯一解决方案是在程序中包含 stdlib.h。

H 文件包含 malloc、 calloc、 realloc 和 free 函数的头信息或原型。

因此,为了避免在 ANSI C 中出现这种警告,您应该包含 stdlib 头文件。