Ir para conteúdo
Fórum Script Brasil
  • 0

Structs e lista encadeada


danielabr

Pergunta

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
}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

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".

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...