C - 未知类型名称(全局结构)

标签 c types struct global

我有一个文件 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

奇怪,我有这个代码的另一个版本,它可以在没有 这个。

当它在没有 a.h 的情况下工作时包括b.h ,可能是因为 a.c (或任何主文件)包括 b.h之前a.h .

关于C - 未知类型名称(全局结构),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20446523/

相关文章:

c - 解释这个 C 代码的输出?

MySQL:为什么使用 VARCHAR(20) 而不是 VARCHAR(255)?

c# - 结构类型数组的性能

c++ - 函数原型(prototype)和函数实现签名不一致地使用 const 可以吗?

c - 如何使用 C 库播放音乐 (MP3) 或 .Wav 文件?

types - Dart 中的接口(interface)约束

c# - 使用 LINQ 的结构与类

c++ - 错误 : expected ',' or '...' before 'Hash_Flag'

c - 装载机的角色

html - 我可以使用 asp FileUpload 来选择文件夹吗?