Salve a tutti,
ho un problema di incompatibilità ma non riesco a capire dove sbaglio.
Il codice sottostante mi da questo warning:
warning: assignment from incompatible pointer type
a questa linea nuovo_p->succ_p = cima_p;
codice:
/*definizione struttura lista*/
typedef struct elem_lista_t
{
struct vertice_grafo *valore_p;
struct elem_lista *succ_p;
} elem_lista_t;
/*
* Crea pila
*/
cima_p = (elem_lista_t *)malloc(sizeof(elem_lista_t));
cima_p->valore_p = vertice_p; /* Assegno alla cima il vertice */
cima_p->succ_p = NULL;
codice:
/*funzione chiamante*/
metti_su_pila (visita_vertici_p, cima_p);
codice:
/*inserisci su pila*/
void metti_su_pila (vertice_grafo_t *vertice_p,
elem_lista_t *cima_p)
{
elem_lista_t *nuovo_p;
nuovo_p = (elem_lista_t *)malloc(sizeof(elem_lista_t));
nuovo_p->valore_p = vertice_p;
nuovo_p->succ_p = cima_p; /*<-------- warning!!*/
cima_p = nuovo_p;
}
Perché?
nuovo->succ_p è di tipo elem_lista, e cima_p pure... che incompatibilità c'è?
Qualcuno mi può aiutare??
Grazie!