Comme l'a dit lokilok, quand tu as une fonction avec paramètre, quelle qu'elle soit, c'est une copie qui est envoyée. C'est pourquoi tu risques d'avoir des soucis dans certains cas comme le tiens, càd un objet non copiable.
Exemple sans pointeur :
http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-c/un-probleme-bien-ennuyeux
ça ne marche pas.
Le même exemple avec pointeur et référence :
http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-c/qui-a-dit-un-probleme-bien-ennuyeux
ça marche.
L'exemple que je donne n'est peut-être pas correct pour ton problème, mais il t'aidera à utiliser et à comprendre un peu mieux les pointeurs et passages par référence, qui t'aideront à résoudre ton problème.