PDA

View Full Version : [C] ADT problemi con struct Item


YamIevenhere
16-11-2014, 17:18
Ho una struttura definita come:


struct item {

char *nome, *cognome, *cf;
struct item *next;

};
typedef struct item Item;


Il programma funziona se definisco la struct Item nella libreria item.h, se invece la definisco in Item.c mentre in Item.h scrivo solo "typedef struct item Item;" mi da come errore ricorrente nelle funzioni "dereferencing pointer to incomplete type".
Nello specifico l'errore viene evidenziato ogni volta che è coinvolto il puntatore al successivo, ad esempio, in questa funzione:

void Count(Item* head)
{
int i=0;
if (head==NULL)
{
printf("Empty.\n");
return;

}
while(head!=NULL)
{
i++;
head=head->next;
}
printf("%d elements.\n", i);
return;
}

l'errore si trova nella riga in cui scrivo "head=head->next".
Come potrei risolvere?

YamIevenhere
16-11-2014, 17:51
Quindi è corretto che io definisca la struct nell' header Item.h?