Comment puis-je passer un pointeur ( Object *ob
) vers une fonction qui est le prototype void foo(Object &)
?
Comment puis-je passer un pointeur ( Object *ob
) vers une fonction qui est le prototype void foo(Object &)
?
Réponses:
Appelez ça comme ça:
foo(*ob);
Notez qu'il n'y a pas de diffusion en cours ici, comme suggéré dans le titre de votre question. Tout ce que nous avons fait est de dé-référencer le pointeur vers l'objet que nous passons ensuite à la fonction.
ob
ou convertit-il simplement (s'il n'est pas converti) le pointeur en référence? Et si ob
c'était nullptr
?
foo(*ob);
Vous n'avez pas besoin de le convertir car il s'agit du même type d'objet, il vous suffit de le déréférencer.