我收到了这个错误:
警告:内置函数'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 tempList
的{{1}}。
答案 0 :(得分:304)
您可能忘记加入<stdlib.h>
。
答案 1 :(得分:41)
您需要#include <stdlib.h>
。否则,它被定义为int malloc()
,与内置类型void *malloc(size_t)
不兼容。
答案 2 :(得分:15)
你错过了#include <stdlib.h>
。
答案 3 :(得分:3)
stdlib.h文件包含malloc,calloc,realloc和free函数的头信息或原型。
因此,要在ANSI C中避免此警告,您应该包含stdlib头文件。
答案 4 :(得分:-4)
此类警告的唯一解决方案是在程序中包含stdlib.h。