Это бесконечный цикл включения.Вы можете исправить это, поместив все типы в один заголовок.
В качестве альтернативы вы можете получить причудливые данные:
File1.h:
typedef enum
{
MY_VARIABLE
} ENUM_FILE1;
#include "File2.h"
typedef struct
{
STRUCT_FILE_2 name;
} STRUCT_FILE1;
Но сделать это будетбессмысленно, потому что вы никогда не сможете использовать File2.h
самостоятельно;В любом случае, вам всегда придется #include "File1.h"
.Таким образом, в итоге у вас все равно останется только один заголовок.