Структуры из одного заголовка в структуру в другом заголовке - PullRequest
1 голос
/ 22 мая 2011

У меня проблемы с этим ... У меня есть этот заголовок:

#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; не имело никакого эффекта.

1 Ответ

4 голосов
/ 22 мая 2011

У вас нет типа с именем struct pessoa.У вас есть struct pa, и у вас есть pessoa (typedef).

Поэтому вам нужно изменить это:

typedef struct pessoa elem_t;

на одно из:

typedef struct pa elem_t;
typedef pessoa elem_t;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...