我尝试这样做时遇到编译错误
struct Child{
char Name[8];
Parent *P;
};
struct Parent{
char Name[8];
Child *C;
};
编译器抱怨它在struct Child
中找不到Parent,但是交换他们的命令没有帮助。编译器会抱怨它在Child
中找不到Parent
。如何解决此错误以及为什么在编写程序时错误未突出显示。
答案 0 :(得分:6)
您可以添加forward declaration:
struct Parent; //forward declaration
struct Child{
char Name[8];
Parent *P;
};
答案 1 :(得分:1)
您需要在struct Client中使用它之前转发声明Parent:
struct Parent;
struct Child{
char Name[8];
Parent *P;
};
struct Parent{
char Name[8];
Child *C;
};