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;
}
l'errore è (riga 14, la riga della malloc)
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