162 votes

Déclaration implicite incompatible de la fonction intégrée 'malloc'.

J'obtiens cette erreur :

avertissement : déclaration implicite incompatible de la fonction intégrée 'malloc'.

C'est ce que j'essaie de faire :

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

Pour mémoire, la structure utilisée est la suivante :

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

Je ne vois rien de mal dans ce que j'ai fait. Je crée simplement un tempList avec la taille de 1 x fileinfo_list .

364voto

cnicutar Points 98451

Vous avez probablement oublié de #include <stdlib.h>

46voto

Omri Barel Points 4426

Vous devez #include <stdlib.h> . Sinon, il est défini comme suit int malloc() qui est incompatible avec le type intégré void *malloc(size_t) .

15voto

Antti Points 4673

Vous manquez #include <stdlib.h> .

4voto

santosh sahu Points 11

Le fichier stdlib.h contient les informations d'en-tête ou le prototype des fonctions malloc, calloc, realloc et free.

Pour éviter cet avertissement en C ANSI, vous devez donc inclure le fichier d'en-tête stdlib.

-5voto

user3828152 Points 1

La seule solution pour de tels avertissements est d'inclure stdlib.h dans le programme.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X