C字段的类型不完整,没有转发声明

C字段的类型不完整,没有转发声明,c,gcc,incomplete-type,C,Gcc,Incomplete Type,我一直得到“field has complete type error”,但我在代码中找不到该类型的任何转发声明,也找不到它的结构中的任何类型的转发声明——除了指针字段。我尝试递归grep文件夹,但仍然找不到任何转发声明 我如何让GCC告诉我它认为远期声明在哪里?或者为什么它是不完整的 正在尝试编译此文件: 获取此服务器上的错误,包括: 与成员 “struct Brain Brain”你的Brain.h和organe.h都以 #ifndef _organ_h_ #define _organ_

我一直得到“field has complete type error”,但我在代码中找不到该类型的任何转发声明,也找不到它的结构中的任何类型的转发声明——除了指针字段。我尝试递归grep文件夹,但仍然找不到任何转发声明

我如何让GCC告诉我它认为远期声明在哪里?或者为什么它是不完整的

正在尝试编译此文件:

获取此服务器上的错误,包括:

与成员


“struct Brain Brain”

你的
Brain.h
organe.h
都以

#ifndef _organ_h_
#define _organ_h_
这意味着在包含第一个后,将不包含第二个


brain.h
中的几个地方使用
\ifndef\u something\u h
是不寻常的。您应该只包含相关的标题,而不是重新定义其内容。即简单地
#include lobe.h
,而不是像
struct BrainLobe那样声明一个空的前向声明

是否缺少头文件(或指向头文件的路径)?也许可以将
结构添加到问题中。寻求调试帮助的问题(“为什么此代码不工作?”)必须包括所需的行为、特定问题或错误以及在问题本身中重现头文件所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建一个最小的、完整的和可验证的示例。它说它不完整,因为它找不到转发声明,所以它无法告诉您它应该在哪里:)我们需要实际的代码来帮助您。产生编译器错误的那一行是GCC,它向您指出了导致该错误的变量类型。GCC无法告诉您它找不到的代码的位置,原因很明显。