Volevo fare una precisazione cmq: ma quella che hai scritto è una chiamata o un prototipo? Perché un conto sono i dichiaratori * e &, e un altro lo sono gli operatori * e &.

Nelle dichiarazioni, come saprai, * identifica un puntatore, e & un riferimento (in C++); nelle espressioni, il * dereferenzia, e il & restituisce l'indirizzo effettivo (lea).

Nel post precedente ho chiarito il caso in cui i due simboli siano operatori, in occasione di una chiamata; nel caso quello invece sia un prototipo ('TipoLista AzioneLista(TipoLista * & r);'), dovresti avere un riferimento a puntatore (cioè un puntatore a puntatore) come parametro formale, credo.