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

(Resolvido) Ajuda com struct e ponteiro


tenaz

Pergunta

Galera preciso de uma ajuda pra intender porque não é possivel compilar o programa

o problema é q eu não consigo inicializar um item do jeito que esta ai

o erro é

Item.c:13: error: request for member ‘key’ in something not a structure or union
Item.c:14: error: request for member ‘type’ in something not a structure or union
Item.c:15: error: request for member ‘data’ in something not a structure or union
Item.h
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "DinamicList.h"
#define key(A) (A)
#define NULLItem NULL

struct Item {
    void *key;
    int type;//da chave
    Data data;
};
typedef struct Item* item;

void flush_in();
char *substring(size_t start, size_t stop, const char *src, char *dst, size_t size);

//Definição de item-------------------------------------------------------------
void initItem(item*);
int emptyItem(item);
void insertItem(item*);
void insertItemKey(item* , char *);
void insertItemData(Data *, char *);
void printItem(item);
Item.c
void initItem(item* ite) {
    ite->key = NULL;//aqui eu já tentei colocar de tudo....
    ite->type = -1;
    initList(&ite->data);
}

int emptyItem(item ite) {
    //Data *x = ite.data;
    if (emptyList(/**x*/ite->data) && ite->key == NULL)
        return 1;
    else
        return 0;
}
DinamicList.h
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct node {
    void *info;
    int type;//0-char    1-int
    struct node *prox;
};
typedef struct node Node;
typedef Node *Data;


//Definição de lista enc/din----------------------------------------------------
void initList(Data*);
int emptyList(Data);
int completLstInt();
char* completLstStr();
int insertNode(Data *, int);
//int removeNode(Data *,void*,int);
int countItemData(Data);
void printLst(Data);

Editado por tenaz
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Galera vlw a ajuda mas já resolvi

Para quem se encontrar no mesmo erro vai a ajuda ai!

Cuidado ao usar ponteiro de ponteiro de ponteiro! A soluçao de quando fala q não é uma struct ou union é:

insertItemData(&(*ite)->data, base);

no caso tem o endereco do ponteiro de ponteiro que aponta para um data q tb é ponteiro =D

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,4k
×
×
  • Criar Novo...