0
我寫了一個小的頭文件,我不斷收到此錯誤:錯誤:之前預計符限定符列表C「ObjectP」 - 循環依賴
expected specifier-qualifier-list before ‘ObjectP’
我一直在尋找一個回答,我明白這是因爲編譯器解析文本的方式。 ObjectP
在GenericHashTable.h
其中包括,你可以看到定義。我試着寫#include
AFTER定義結構,並沒有幫助。這裏是有問題的代碼,帶有錯誤行標記:
#include "GenericHashTable.h"
typedef struct List* ListP;
typedef struct List
{
unsigned int size;
ObjectP head; <----- ERROR HERE
} List;
任何想法?謝謝!
編輯:我想我知道問題出在哪裏。 「List.h」包含「GenericHashMap.h」,反之亦然,所以我有一種循環依賴。當我從其中一個移除#include語句時,它會編譯成OK,另一個則會收到錯誤消息。
我必須以某種方式打破這個圈子,或者是有其他的解決辦法?謝謝!