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?