Problem z użyciem inline

0

Cześć,

Problem polega na tym, że chcę przekazać obiekt sf::Clock (klasę która mierzy czas) do funkcji obiektu cLicznikFps (wyświetla fpsy na ekranie) za pomocą referencji, używając inline.
Gdy dodaję inline wtedy wywala taki błąd. Jaka jest jego przyczyna?
Bez tytułu.png

0

niestety nadal nie wiem, jakie jest źródło problemu :( ? Mógłbyś nakierować?

2

inline nie służy do przekazywania argumentów przez referencję. Jak nie wiesz dlaczego chcesz go użyć, to go nie używaj.

0

Używając tego miałem zamysł taki:
Po co mam kopiować obiekt sf::Clock, wyślę jego adres, użyję inline, żeby wstawić w miejsce wywołania definicję funkcji, żeby nie latać po pamięci w poszukiwaniu funkcji.
Teraz wiem, że wyszło z tego takie masło maślane.

Używając inline używamy tak jakby referencji? Unikamy kopiowania danych do funkcji tak ?

3

Nie. Przede wszystkim, inline w C++ nie ma zbytniego związku z inline'owaniem - co opisałem w podlinkowanym wyżej wpisie na blogu. Po drugie, reguły kopiowania parametrów do funkcji nie są inne dla funkcji inline'owanych i jedyne na co możesz liczyć to na regułę 'tak jakby' (as-if rule).

Po prostu przekaż wartość przez referencję i nie mieszaj w to inline'owania - to wcale nie musi poprawić wydajności (największe firmy sprawdzają to metodą prób i błędów), a wyraźnie widać, że nie jesteś na to gotowy.

1
kameleo327 napisał(a):

Używając inline używamy tak jakby referencji? Unikamy kopiowania danych do funkcji tak ?

W zasadzie sam sobie odpowiadasz co powinieneś zrobić "Użyć referencji". Z tym inline coś źle zrozumiałeś/przeczytałeś, względnie ktoś cię źle nauczył (Zelent?).
Słuchaj @kq bo dobrze ci prawi, wpis z bloga krzaq też można uznać za certyfikowany przez 4p :).

0

Kiedyś użyłem skrótu ctrl+. w vs i utworzyło mi definicję z inline. Patrzę, o, coś nowego, wygooglałem, poczytałem, spróbowałem użyć. Pana Zelenta jak każdy oglądałem i szanuję ale nie jest to już źródło wiedzy. Staram się czerpać info stąd i z angielskiej części internetu tyle, że jestem jeszcze na takim poziomie ang żeby rozumieć wszystko także trochę ciężko. Btw. dzięki za odpowiedzi.

ps. Słucham słucham ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1