Jak mogę przekazać wskaźnik ( Object *ob) do funkcji, którą jest prototyp void foo(Object &)?
Jak mogę przekazać wskaźnik ( Object *ob) do funkcji, którą jest prototyp void foo(Object &)?
Odpowiedzi:
Nazwij to tak:
foo(*ob);
Zwróć uwagę, że nie odbywa się tutaj casting, jak sugeruje tytuł twojego pytania. Wszystko, co zrobiliśmy, to usunięcie wskaźnika do obiektu, który następnie przekazujemy do funkcji.
ob, czy po prostu konwertuje (jeśli nie rzutuje) wskaźnik na odniesienie? A co by obbyło nullptr?
foo(*ob);
Nie musisz go rzucać, ponieważ jest to ten sam typ obiektu, wystarczy go usunąć.