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 ob
było nullptr
?
foo(*ob);
Nie musisz go rzucać, ponieważ jest to ten sam typ obiektu, wystarczy go usunąć.