从一个标头转换为另一个标头中的结构
我遇到了麻烦…我有这个标题:
#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上的fiel信息有一个不完整的类型。
改变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;