Несовместимое неявное объявление встроенной функции 'malloc - программирование

Несовместимое неявное объявление встроенной функции 'malloc

Я получаю эту ошибку:

предупреждение: несовместимое неявное объявление встроенной функции 'malloc

Я пытаюсь сделать это:

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

Только для справки используемая структура:

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

Я не вижу ничего плохого в том, что я сделал. Я просто создаю tempList с размером 1 x fileinfo_list.

4b9b3361

Ответ 1

Вероятно, вы забыли включить <stdlib.h>.

Ответ 2

Вам нужно #include <stdlib.h>. В противном случае он определяется как int malloc(), который несовместим со встроенным типом void *malloc(size_t).

Ответ 3

Вам не хватает #include <stdlib.h>.

Ответ 4

Файл stdlib.h содержит информацию заголовка или прототип функций malloc, calloc, realloc и бесплатных функций.

Итак, чтобы избежать этого предупреждения в ANSI C, вы должны включить заголовочный файл stdlib.

Ответ 5

Единственным решением для таких предупреждений является включение stdlib.h в программу.