Ciao a tutti, ecco il mio problema:
ho una struttura lista si fatta:
Mentre quest'altra è la struttura del vertice:codice:/*lista di vertici*/ typedef struct elem_lista_vertici { struct vertice_grafo_t *vertice; struct elem_lista_t *next; }elem_lista_vertici_t;
Ho una funziona metti in coda:codice:/*struttura vertice*/ typedef struct vertice_grafo { int nome; struct vertice_grafo *next; struct arco_grafo *lista_archi; } vertice_grafo_t; /*struttura arco*/ typedef struct arco_grafo { double peso; struct vertice_grafo *vertice_adiac; struct arco_grafo *next; } arco_grafo_t;
ERRORE: [Warning] assignment from incompatible pointer typecodice:/******************************************/ /*Definizione della funzione metti_in_coda*/ /******************************************/ void metti_in_coda(elem_lista_vertici_t **uscita, elem_lista_vertici_t **ingresso, vertice_grafo_t *vertice_partenza) { elem_lista_vertici_t *nuovo; nuovo = (elem_lista_vertici_t *)malloc(sizeof(elem_lista_vertici_t)); nuovo->vertice = vertice_partenza; /*ERRORE*/ nuovo->next = NULL; if(*ingresso != NULL) { (*ingresso)->next = nuovo; /*ERRORE*/ } else { *uscita = nuovo; } *ingresso = nuovo; }
Stessa cosa nella funzione togli da coda:
E ancora stesso errore nella funzione chiamante queste due precedenti dove:codice:/******************************************/ /*Definizione della funzione togli_da_coda*/ /******************************************/ elem_lista_vertici_t *togli_da_coda(elem_lista_vertici_t **uscita, elem_lista_vertici_t **ingresso) { elem_lista_vertici_t *elem; elem = *uscita; if(*uscita != NULL) { *uscita = (*uscita)->next;/*ERRORE*/ if(*uscita == NULL) { *ingresso = NULL; } } return(elem); }
Cosa mi sfugge?codice:elem = togli_da_coda(&uscita, &ingresso); vertice = elem->vertice; /*ERRORE*/

Rispondi quotando