Che vuol dire il messaggio
"invalid lvalue in assignment"?
me lo dà il compilatore tentando un assegnemento.
typedef ... Node
typedef struct{
int i;
Node *nodes1;
}Struct1;
typedef struct {
int j;
Node *nodes2;
}Struct2;
main()
............
Struct1 *struct1;
Struct2 *struct2;
....
fscanf(...dim1, dim2....);
struct1=(Struct1 *)malloc(dim1*sizeof(Struct1));
struct2=(Struct2 *)malloc(dim2*sizeof(Struct2));
struct1->nodes1 = (Node *)malloc(stuct1->i*sizeof(Node));
struct2->node2= (Node *)malloc(struct2->j *sizeof(Node *));/*solo alloco lo spazio per i puntatori, non ho bisogno della mem per i nodi! */
fscanf(.......dati che assegno a struct1 struct2 struct3);
ora vorrei far puntare i puntatori nodes2 di struct2 ad alcuni degli oggetti puntati dai nodes1 di struct 1;
struct2->nodes2 = struct1->nodes1; /*il primo*/
/*ora viene l'errore*/
struct2->nodes2+3 = sctruct1->nodes1+4
/*non è proprio così il codice! ci sono degli indici, è per semplificare.
quello che vorrei fare è assegmare al terzo elemento (quarto!)del vettore di puntatori di struct2, l'indirizzo contenuto nel quarto elemento del vettore di puntatori di struct2*/
é un po' confuso, me ne rendo conto.
Ma io sto impazzendo!!!
ciao