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:
Klasa cGame:
Klasa cCharacter:
Klasa cHero:
Naprawdę łatwiej ci było wklejać obrazki zamiast kodu? :|
Masz problem z kompilacją, czy tylko IDE strzela warningami?
Wygląda wporządku na pierwszy rzut oka. Może IDE masz niepoprawnie skonfigurowane z SFMLem dlatego nie widzi poprawnej metody.
Kompiluje się po czym nic się nie dzieje i wywala program. Po wykomentowaniu tego nadal wywala.
to użyj debbugera i zobacz stos.
Wygląda na false positive IDE, wyłącz i włącz i pewnie zniknie. Problem z wykonaniem programu jest raczej niepowiązany.
Oho mamy winowajce
A wystarczyło włączyć debugera...
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.
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)