Le graffe dopo l'if
if(Strcmp(lis—>titolo, titolo)==0)
{
List tmp = lis->next;
freeLista(lis);
return tmp;
}
Ma se vuoi essere sicura di eliminare anche eventuali duplicati, prova a fare così :
List cancellalibri(List lis, char titolo[MAXTITOLO])
{
if(!lis) return NULL;
if(Strcmp(lis—>titolo, titolo)==0)
{
List tmp = lis->next;
freeLista(lis);
lis = tmp;
}
lis->next = cancellalibri(lis->next, titolo);
return lis;
}
PS: per favore, specifica anche se compila o no, perché per esempio quello che hai postato non dovrebbe compilare (una parentesi aperta e due chiuse).