Comment puis-je passer un pointeur (Object *ob
) à une fonction dont le prototype est void foo(Object &)
?
Appelez ça comme ça:
foo(*ob);
Notez qu'il n'y a pas de casting ici, comme suggéré dans le titre de votre question. Tout ce que nous avons fait est de dé-référencer le pointeur sur l'objet que nous passons ensuite à la fonction.
foo(*ob);
Vous n'avez pas besoin de le lancer car il s'agit du même type d'objet, il vous suffit de le déréférencer.