Devi passare un puntatore al puntatore (un doppio puntatore).
Amaro C++, il gusto pieno dell'undefined behavior.
Regole del Forum