我有一个文件 a.h,它定义了结构:
typedef struct q_elem_s
{
def_task task;
struct q_elem_s *next;
} q_elem;
def_task 是第二个文件 b.h 中的结构。
typedef struct task_s
{
int id;
int length;
} def_task;
现在我的编译器说 q_elem_s 内的 def_task 任务未知?
a.c 包括 b.h。那么问题出在哪里呢?
最佳答案
a.h should include b.h
奇怪,我有这个代码的另一个版本,它可以在没有 这个。
block 引用>当它在没有
a.h
的情况下工作时包括b.h
,可能是因为a.c
(或任何主文件)包括b.h
之前a.h
.
关于C - 未知类型名称(全局结构),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20446523/