我有两个应该使用对方的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