Non ho idea del perchè il compilatore dia un errore su un array di puntatori (dinamico).
Praticamente dichiaro questa variabile (puntatore ad array di puntatori ad una struct):
codice:
struct struct_albero_nodo ***queue;
inizio ad allocare il primo spazio di memoria per quest'array facendo:
codice:
queue = (struct struct_albero_nodo *)calloc(1,sizeof(struct struct_albero_nodo *));
cosi ora posso inserire il primo elemento
queue[0] = (puntatore ad una struct definita in precedenza).
Bene a questo punto sorge il problema.
se provo ad accedere ai campi all'interno della struct il compilatore da errore..
"error C2223: l'elemento a sinistra di '->data' deve puntare a struct/union"
per ovviare a questo problema devo definire un puntatore semplice alla struct e accedrvi tramite esso:
codice:
struct struct_albero_nodo *current;
current=queue[0];
current->data;
cosi facendo funziona normalmente..
spiegazioni?
semplicemente un altro limite del c?
thx