我有兩個應該使用對方的typedefs的頭文件。這裏的情況是:在兩個頭文件中進行類型定義交換
例如:
在頭文件server.h
typedef struct
{
int myint;
}ServerSelfData;
typedef struct
{
ServerSelfData servData;
ClientSelfData clData;
}SERVER_Data;
到名爲client.h我們有第二頭文件:
typedef struct
{
int myint;
}ClientSelfData;
typedef struct
{
ClientSelfData clData;
ServerSelfData servData;
}CLIENT_Data;
所以在編譯過程中會出現其中一個定義錯誤。其中之一取決於首先包含哪個文件。
這個問題有什麼解決方法嗎?
我會開始認爲有3個標題。第三個是包含'client.h'和'server.h'並且定義了'SERVER_Data'和'CLIENT_Data'的。 – LPs
這將解決問題。好的,但是如果兩個結構類型定義包含對方呢?然後我們不能將它們分成三個文件。上面的例子是解釋情況的代碼。這是我的問題的主要代表。 – Hairi