内置函数“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_list
的tempList
。
您可能忘记包含<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。