[c] 내장 함수 ‘malloc’의 호환되지 않는 암시 적 선언

이 오류가 발생합니다.

경고 : 내장 함수 ‘malloc’의 호환되지 않는 암시 적 선언

나는 이것을하려고합니다 :

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

참고로 손에 사용되는 구조체는 다음과 같습니다.

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

내가 한 일에 아무런 문제가 없습니다. 방금 tempList1 x 크기의를 만들고 fileinfo_list있습니다.



답변

포함하는 것을 잊었을 수 있습니다 <stdlib.h>.


답변

당신은해야합니다 #include <stdlib.h>. 그렇지 않으면 int malloc()내장 유형과 호환되지 않는 것으로 정의됩니다 void *malloc(size_t).


답변

당신이 없습니다 #include <stdlib.h>.


답변

stdlib.h 파일에는 malloc, calloc, realloc 및 free 함수의 헤더 정보 또는 프로토 타입이 포함되어 있습니다.

따라서 ANSI C에서이 경고를 피하려면 stdlib 헤더 파일을 포함해야합니다.


답변

이러한 경고에 대한 유일한 해결책은 프로그램에 stdlib.h를 포함시키는 것입니다.


답변