Niezrozumiały problem z użyciem smart pointers przy wyłowywaniu funkcji

0

Cześć, przy wywołaniu metody draw w klasie pojawiło się coś takiego. Nie mam pojęcia jak to naprawić. Proszę o pomoc
Klasa cMain:
problem 0.png
Klasa cGame:
problem 1.png
Klasa cCharacter:
problem 2.png
Klasa cHero:
problem 3.png

0

Naprawdę łatwiej ci było wklejać obrazki zamiast kodu? :​|

Masz problem z kompilacją, czy tylko IDE strzela warningami?

0

Wygląda wporządku na pierwszy rzut oka. Może IDE masz niepoprawnie skonfigurowane z SFMLem dlatego nie widzi poprawnej metody.

0

Kompiluje się po czym nic się nie dzieje i wywala program. Po wykomentowaniu tego nadal wywala.

0

to użyj debbugera i zobacz stos.

0

Wygląda na false positive IDE, wyłącz i włącz i pewnie zniknie. Problem z wykonaniem programu jest raczej niepowiązany.

0

Oho mamy winowajce Bez tytułu.png

A wystarczyło włączyć debugera...

0

Sprawdziłem wszystko i sfml jest dodany poprawnie.

zmieniłem sf::Texture* characterTexture; na sf::Texture characterTexture; program nie wyświetlił żadnego błędu.
Po krótkim zastanowieniu się doszedłem do wniosku, że nie zaalokowałem pamięci dla characterTexture.
Po dodaniu w konstruktorze characterTexture = new sf::Texture program działa.

0

Masz niezainicjalizowany pointer characterTexture w konstruktorze klasy cCharacter. Zajrzyj tu (odnośnie 0xCDCDCDCD):
https://www.softwareverify.com/memory-bit-patterns.php
i tu: link (sekcja Magic Debug Values)

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