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

我得到这个错误:

warning: incompatible implicit declaration of built-in function 'malloc'

试图做到这一点:

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

仅供参考,手头使用的结构是:

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

我没有看到我所做的事情有什么问题? 我只是创build一个大小为1 x fileinfo_listtempList

您可能忘记包含<stdlib.h>

您需要#include <stdlib.h>否则将其定义为int malloc() ,它与内置typesvoid *malloc(size_t)不兼容。

你缺less#include <stdlib.h>

stdlib.h文件包含malloc的头信息或原型,calloc,realloc和free函数。 为了避免在ANSI C中出现此警告,应该包含stdlib头文件。

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