Я получаю ошибку конфликтующего типа в C, но я не вижу, как существует конфликтующий тип в объявлении и определении той же функции.
file_utils.h
bool is_relative_path(struct dirent *ent);
file_utils.c
bool is_relative_path(struct dirent *ent){
return (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0);
}
Ошибка:
abhiram@abhiram-Lenovo-G50-70:~/libpostal-master/src$ gcc -DLIBPOSTAL_DATA_DIR='"$/home/abhiram/libpostal-master/data"' -o main main.c libpostal.c file_utils.c string_utils.c json_encode.c -std=c99 -w
file_utils.c:42:6: error: conflicting types for ‘is_relative_path’
bool is_relative_path(struct dirent *ent){
^
In file included from file_utils.c:1:0:
file_utils.h:59:6: note: previous declaration of ‘is_relative_path’ was here
bool is_relative_path(struct dirent *ent);
^
Функция объявлена в заголовочном файле и определена в файле c, в ней по-прежнему отображается ошибка конфликтующего типа
Редактировать: в обоих файлах были включены dirent.h и stdbool.h.