l'errore è (riga 14, la riga della malloc)codice:#include<stdio.h> #include<stdlib.h> typedef struct nodo *lista; typedef struct nodo { int val; nodo* next; } Nodo; lista insert(lista *L, int valore){ Nodo *corrente; Nodo *precedente; Nodo *nuovo; nuovo=malloc(sizeof(Nodo)); if(nuovo==NULL){ printf("mem esaurita"); return NULL;} nuovo->val=valore; nuovo->next=NULL; corrente = *L; precedente = NULL; while(corrente->next!=NULL && valore<corrente->val){ precedente=corrente; corrente=corrente->next; } if(precedente==NULL){ nuovo=*L; nuovo->next==NULL; } else{ nuovo->next=corrente; precedente->next=nuovo; } return *L; } int main (){ lista concat = NULL; int val; printf("inserisci valore nodo, 0 termina:"); while(scanf("%d", &val)!=0){ insert(&concat, val); printf("inserisci valore nodo:"); } system ("PAUSE"); return 0; }
In function `nodo* insert(nodo**, int)':
invalid conversion from `void*' to `Nodo*'
edit: ho provato a fare il cast sulla malloc, quindi nuovo=(Nodo*)malloc(sizeof(Nodo));
ora nessun errore di sintassi, ma evidentemente c'è qlc errore logico xke il programma crasha

Rispondi quotando