Come posso passare un puntatore ( Object *ob
) a una funzione di quale prototipo è void foo(Object &)
?
Come posso passare un puntatore ( Object *ob
) a una funzione di quale prototipo è void foo(Object &)
?
Risposte:
Chiamalo così:
foo(*ob);
Si noti che non è in corso alcun casting, come suggerito nel titolo della domanda. Tutto ciò che abbiamo fatto è de-referenziato il puntatore all'oggetto che poi passiamo alla funzione.
ob
o converte (se non trasmette) il puntatore in un riferimento? E se ob
fosse nullptr
?
foo(*ob);
Non è necessario lanciarlo perché è lo stesso tipo di oggetto, devi solo dereferenziarlo.