c++ - 结构的排序

标签 c++ struct

当我尝试执行此操作时遇到编译错误

 struct Child{
    char Name[8];
    Parent *P;
 };

 struct Parent{
    char Name[8];
    Child *C;   
 };

编译器提示它无法在 struct Child 中找到 Parent,但交换它们的顺序没有帮助。编译器会提示它无法在 Parent 中找到 Child。我如何解决这个错误,为什么我在编写程序时没有突出显示错误。

最佳答案

您可以添加 forward declaration :

struct Parent;   //forward declaration
struct Child{
    char Name[8];
    Parent *P;
};

关于c++ - 结构的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22063079/

相关文章:

c++ - 需要前向声明或完整定义

c++ - 我如何在 C++ 中追加一个 struct Person

c - 我不明白这个 C 代码的行为(与 2 个位域结构、一个字和一个字节数组的 union )

C++ 检查结构是否为 NULL 或未设置,即使它的 have 运算符相等

loops - 如何解析CF结构体

java - 带有指向结构参数的指针的 JNA 回调函数

c++ - 用C++设置合并算法

c++ - Boost Thread - 创建一个没有 join() 的线程

C++20 格式 sys_time,精度为毫秒

c++ - Makefile,对 main.cpp 使用 mpiCC 编译器,对 src 代码的其他功能使用 g++