Ciao a tutti, ecco il mio problema:
ho una struttura lista si fatta:
codice:
/*lista di vertici*/
typedef struct elem_lista_vertici
{
struct vertice_grafo_t *vertice;
struct elem_lista_t *next;
}elem_lista_vertici_t;
Mentre quest'altra è la struttura del vertice:
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;
Ho una funziona metti in coda:
codice:
/******************************************/
/*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;
}
ERRORE: [Warning] assignment from incompatible pointer type
Stessa cosa nella funzione togli da coda:
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);
}
E ancora stesso errore nella funzione chiamante queste due precedenti dove:
codice:
elem = togli_da_coda(&uscita, &ingresso);
vertice = elem->vertice; /*ERRORE*/
Cosa mi sfugge?