danielabr Postado Junho 25, 2014 Denunciar Share Postado Junho 25, 2014 Criei uma estrutura do tipo pessoa e pretendo usá-la em uma lista encadeada, porém o seguintes erros aparecem: 'No' has no member named 'dados', 'No' has no member named 'prox' e unknow type name 'p' O programa nem chegou a rodar, alguém pode me ajudar? O arquivo .h é o seguinte: __________________________________________________________________ #ifndef Pessoa #define Pessoa typedef struct pessoa{ char nome[25]; char sobrenome[25]; int registro; }Pessoa; typedef struct no{ Pessoa dados; struct no *prox; }No; typedef struct lista{ No *cabeca; No *cauda; int tamanho; }Lista; No* criaNo(Pessoa p); Lista* criaLista(); void inserir(Lista *l, Pessoa p, int posicao); void remover(Lista* l, int registro); //pesquisa registro e remove a pessoa void imprimeLista(Lista* l); void destruirLista(Lista* l); #endif ________________________________________________________________ O arquivo .c é o seguinte: _______________________________________________________________ #include <stdio.h> #include <stdlib.h> #include "Pessoa.h" No* criaNo(Pessoa p) { No* n; n=(No*)malloc(sizeof(No)); n->dados = p; n->prox = NULL; return n; } Lista* criaLista() { Lista* l = (Lista*)malloc(sizeof(Lista)); l->cabeca = NULL; l->cauda = NULL; l->tamanho = 0; return l; } void inserir(Lista *l, Pessoa p, int posicao); { //já está pronta, porém não achei necessário colocá-la } void remover(Lista* l, int registro) { //já está pronta, porém não achei necessário colocá-la } void imprimeLista(Lista* l) { //já está pronta, porém não achei necessário colocá-la } void destruirLista(Lista *l) { //já está pronta, porém não achei necessário colocá-la } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ScreenBlack Postado Julho 4, 2014 Denunciar Share Postado Julho 4, 2014 Está com cara de que o compilador não está encontrando o arquivo de "header" para fazer a identificação das "structs". Testei aqui e funcionou. Única coisa que tive de modificar, foi o nome do "define", que conflita com o nome da "struct". Mudei para "#ifndef _Pessoa", "#define _Pessoa". Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
danielabr
Criei uma estrutura do tipo pessoa e pretendo usá-la em uma lista encadeada, porém o seguintes erros aparecem:
'No' has no member named 'dados', 'No' has no member named 'prox' e unknow type name 'p'
O programa nem chegou a rodar, alguém pode me ajudar?
O arquivo .h é o seguinte:
__________________________________________________________________
#ifndef Pessoa
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.