A w C++ to przechodzi...? O.o
Odwołujesz się tam do referencji na wskaźnik (czy wskaźnika do referencji), po co i dlaczego - nie mam pojęcia.
Ale solucja Twojego problemu jest prosta.
void usunliste(str* list){
//Ciało funkcji
/* Zamień kaźde ewentualne wywołanie w postaci
list.składowa
na postać wskaźnikową:
list -> składowa
Pamiętaj, że struktura "list" nie może zawierać metod!
*/
}