Il faut signaler que tu veux updater et donc reprendre la nouvelle valeur dans ton main, sinon, comme tu as peu le voir, la valeur dans le main ne changera pas pour ta variable 'ch', mais uniquement en local, dans ta fonction.
En C, je sais qu'il suffit de placer un '&' dans l'appel de fonction, juste devant la variable a reprendre, c'est à dire 'ch' pour toi :
char* ch="abcde";
f(&ch);
Mais je crois qu'en C++ les pointeurs sont gérés différemment non ?
En tout cas ton erreur viens de là, essai ca avec des sorties et ca devrait aller mieux.


