Ir ao conteúdo
  • Cadastre-se
oliveira36

RESOLVIDO error: dereferencing pointer to incomplete type

Recommended Posts

Olá a todos,

 

Estou aprendendo a programar em C e estou começando os tipos abstratos de dados, mais especificamente, modularização e lista sequencial.

 

Porém mal comecei esse tópico e já me deparei com o erro "dereferencing pointer to incomplete type".

 

Criei um arquivo header com o nome ListaEstatica.h onde defini uma constante, um typedef para estrutura lista e o protótipo de duas funções. No arquivo ListaEstatica.c, implementei a struct lista e a primeira função para criar uma lista. Compilou e não acusou erros, mas quando fui fazer um teste na main.c e dar um simples printf em um dado da Lista(mesmo sabendo que o retorno seria lixo já que não havia dados nela), ele me retornou esse erro. Alguém sabe me dizer o porquê?

 

Codigo do header:

#define MAX 100typedef struct lista Lista;Lista *cria_lista();void libera_lista(Lista *li);

Codigo dor arquiivo com as implementações:

#include <stdlib.h>#include <stdio.h>#include "ListaEstatica.h"struct lista{    int qtd;    int num[MAX];};Lista *cria_lista(){    Lista *li = (Lista*)malloc(sizeof(struct lista));    if(li!=NULL)        li->qtd = 0;    return li;}

codigo da main>

#include <stdio.h>#include <stdlib.h>#include "ListaEstatica.h"int main(){    Lista *l = cria_lista();    l->num[0]=1;    printf("%d",l->num[0]);    return 0;}

Eu aposto que deve ser um erro bobo, mas aprender a programar só com apostilas e video aulas tem muito disso.

 

Se puderem ajudar desde já, agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×