web-dev-qa-db-de.com

Inkompatible implizite Deklaration der integrierten Funktion "malloc"

Ich erhalte diesen Fehler:

warnung: Inkompatible implizite Deklaration der integrierten Funktion "malloc"

Ich versuche das zu tun:

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

Nur als Referenz wird folgende Struktur verwendet:

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

Ich sehe nichts falsch mit dem, was ich getan habe. Ich erstelle gerade ein tempList mit der Größe von 1 x fileinfo_list.

141
SGE

Sie haben wahrscheinlich vergessen, <stdlib.h>.

314
cnicutar

Sie müssen #include <stdlib.h>. Andernfalls ist es als int malloc() definiert, was mit dem eingebauten Typ void *malloc(size_t) nicht kompatibel ist.

42
Omri Barel

Du fehlst #include <stdlib.h>.

15
Antti

Die Datei stdlib.h enthält die Headerinformationen oder den Prototyp der Funktionen malloc, calloc, realloc und free.

Um diese Warnung in ANSI C zu vermeiden, sollten Sie die stdlib-Headerdatei einschließen.

3
santosh sahu