c - 从一个 header 到另一个 header 中的结构的结构

标签 c header struct

我在这方面遇到了麻烦... 我有这个标题:

#ifndef PESSOA_H
#define PESSOA_H

typedef struct pa{
    int idade;
    int atend;
}pessoa;


void inicPessoa(pessoa *ps, int id);

#endif

并且,在 filaC.h 中:

#ifndef FILAC_H
#define FILAC_H

#include "pessoa.h"

typedef struct pessoa elem_t;

typedef struct no{
  elem_t info;
  struct no *prox, *ant;
} No;

typedef No * Fila;
#endif

但编译器说 filaC.h 上的字段信息类型不完整。

elem_t info; 更改为 struct elem_t into; 没有任何效果。

最佳答案

您没有名为 struct pessoa 的类型。你有 struct pa,你有 pessoa(一个 typedef)。

所以你需要改变这个:

typedef struct pessoa elem_t;

进入其中之一:

typedef struct pa elem_t;
typedef pessoa elem_t;

关于c - 从一个 header 到另一个 header 中的结构的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6089589/

相关文章:

c - printf %c 在 C 编程语言中究竟是如何工作的

c - 如何在循环中声明分配的数组?

c - 在C语言中,单元测试应该写在Header文件中还是C文件中

c - C语言中的结构体

c - 逐条记录地从二进制文件中读取数据

c - 理解c中的链表结构

unsigned char 中的 C 变量参数?

iphone - 如何根据.h和.m设置Header Search Path

qt - 设置 QTreeView 标题的标题文本

c++ - 关于 C/C++ 中使用的头文件保护和头文件包含的说明