从一个标头转换为另一个标头中的结构

时间:2011-05-22 17:31:38

标签: 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上的fiel信息类型不完整。

elem_t info;更改为struct elem_t into;无效。

1 个答案:

答案 0 :(得分:4)

您没有名为struct pessoa的类型。您有struct pa,并且您有pessoa(typedef)。

所以你需要改变这个:

typedef struct pessoa elem_t;

进入以下之一:

typedef struct pa elem_t;
typedef pessoa elem_t;