Non potrebbe mai funzionare quell'assegnazione perché nella function in cui si verifica l'errore "node" è un puntatore alla struttura "Node", mentre pop() restituisceOriginariamente inviato da RoxLover
togliendolo mi dice
warning: assignment from incompatible pointer type
sempre alla stessa linea...
p1 + 1
ma la dichiarazione di p1 (che non capisco perché la fai globale) è
Tree *p1;
dove Tree (secondo la typedef che hai scritto) è già un tipo "puntatore alla struttura Node", quindi dichiarando p1 come puntatore ad un dato di tipo Tree, stai dicendo che p1 è un "puntatore a puntatore alla struttua Node", e quindi c'è un incongruenza tra i tipi del valore di ritorno di pop() e della variabile a cui lo vuoi assegnare (node).
Prova a fare semplicemente questa dichiarazione a posto dell'ultima
Node *p1;
oppure (dal momento che hai definito Tree)
Tree p1;
ovviamente fai attenzione che anche "tos" e "stack" sono dichiarati come puntatori a puntatori... e non so se questo può darti problemi perché non ho letto ancora tutto il codice.

Rispondi quotando