Использование типов данных друг друга (2 заголовка) - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь вот так:

Файл 1.h:

#include "File2.h"

typdef enum
{
   MY_VARIABLE
}ENUM_FILE1;

typedef struct
{
   STRUCT_FILE_2 name
}STRUCT_FILE1;

Файл 2.h:

#include "File1.h"

typdef struct
{
   ENUM_FILE1 name;
}STRUCT_FILE2;

Но идентификатор ENUM_FILE1неизвестно.Зачем?И как я могу это исправить?

1 Ответ

0 голосов
/ 30 мая 2018

Это бесконечный цикл включения.Вы можете исправить это, поместив все типы в один заголовок.

В качестве альтернативы вы можете получить причудливые данные:

File1.h:

typedef enum
{
   MY_VARIABLE
} ENUM_FILE1;

#include "File2.h"

typedef struct
{
   STRUCT_FILE_2 name;
} STRUCT_FILE1;

Но сделать это будетбессмысленно, потому что вы никогда не сможете использовать File2.h самостоятельно;В любом случае, вам всегда придется #include "File1.h".Таким образом, в итоге у вас все равно останется только один заголовок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...