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

SGE*_*SGE 147 c malloc struct

我收到这个错误:

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

我想这样做:

fileinfo_list* tempList = malloc(sizeof(fileinfo_list));
Run Code Online (Sandbox Code Playgroud)

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

typedef struct {
    fileinfo** filedata;
    size_t nFiles;
    size_t size;
    size_t fileblock;
} fileinfo_list;
Run Code Online (Sandbox Code Playgroud)

我没有看到我所做的事情有什么不妥.我只是创建一个tempList1 x的大小fileinfo_list.

cni*_*tar 325

你可能忘了包括<stdlib.h>.


Omr*_*rel 44

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


Ant*_*tti 15

你错过了#include <stdlib.h>.


小智 5

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

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