Incompatibele impliciete verklaring van ingebouwde functie malloc

Ik krijg deze foutmelding:

waarschuwing: incompatibele impliciete verklaring van ingebouwde functie malloc

Ik probeer dit te doen:

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

Alleen ter referentie is de gebruikte structuur:

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

Ik zie niets verkeerds in wat ik heb gedaan. Ik ben gewoon een tempListaan het maken met de grootte van 1 x fileinfo_list.


Antwoord 1, autoriteit 100%

U bent waarschijnlijk vergeten #include <stdlib.h>

te gebruiken


Antwoord 2, autoriteit 13%

Je moet #include <stdlib.h>. Anders wordt het gedefinieerd als int malloc()wat niet compatibel is met het ingebouwde type void *malloc(size_t).


Antwoord 3, autoriteit 4%

Je mist #include <stdlib.h>.


Antwoord 4

Het bestand stdlib.h bevat de header-informatie of het prototype van de malloc-, calloc-, realloc- en free-functies.

Dus om deze waarschuwing in ANSI C te vermijden, moet u het stdlib-headerbestand opnemen.


Antwoord 5

De enige oplossing voor dergelijke waarschuwingen is om stdlib.h in het programma op te nemen.

Other episodes