Согласно сообщению об ошибке GCC, в файле delete_functions.c
есть ошибка.
Предположительно, это выглядит так в начале:
#include "delete_functions.h"
Так как delete_functions.h
делаетсам по себе не включает types.h
, вам нужно сначала включить его:
#include "types.h"
#include "delete_functions.h"
В качестве альтернативы, вы можете добавить include guard к своим заголовкам, чтобы их можно было безопасно включать несколько раз,как это для types.h
:
#ifndef TYPES_H
#define TYPES_H
typedef char AirportCode[4];
typedef struct nodetype{
char Airport[4];
struct nodetype *next;
} nodetype;
#endif
И для delete_functions.h
:
#ifndef DELETE_FUNCTIONS_H
#define DELETE_FUNCTIONS_H
void Delete(nodetype *list,char node[4]);
void DeleteLast(nodetype *list);
#endif
Необходимы *_H
включающие защитные макросы, потому что в противном случае main.c
больше не будет компилироваться: каждый тип в types.h
может быть определен только один раз для каждой единицы перевода, и без защитных элементов каждый *.h
привел бы к другому определению, что приведет к ошибкам компилятора.