Я написал небольшой заголовочный файл и продолжаю получать эту ошибку:
expected specifier-qualifier-list before ‘ObjectP’
Я искал ответ и понимаю, что это из-за того, как компилятор анализирует текст. ObjectP
определено в GenericHashTable.h
, что включено, как вы можете видеть. Я пытался написать #include
ПОСЛЕ определения структуры, не помогло. Вот проблемный код с помеченной строкой ошибки:
#include "GenericHashTable.h"
typedef struct List* ListP;
typedef struct List
{
unsigned int size;
ObjectP head; <----- ERROR HERE
} List;
Есть идеи? спасибо!
РЕДАКТИРОВАТЬ: Я думаю, я знаю, где проблема. «List.h» включает в себя «GenericHashMap.h» и наоборот, поэтому у меня есть круговая зависимость. Когда я удаляю оператор #include из одного из них, он компилируется, а другой получает сообщение об ошибке.
Должен ли я как-то разорвать этот круг, или есть другое решение? Спасибо!