1
SDL / Odp: DestroyRenderer problem z użyciem
« dnia: Styczeń 12, 2018, 16:39:06 »
Hej Larhes!
Ano, jest. Fajna sprawa, podpiąłem się pod gre, no i teraz już wiem. Najpierw był problem z uszkodzeniem sterty. Poduczyłem się o wskaźnikach i zmodyfikowałem wszystko po kolei. Okazało się że używałem delete na wskaźniku który nie stworzyłem operacją new. To był najwidoczniej błąd. Teraz mam błąd 0xC0000005: Access violation reading location 0x00000010 czyli gdzieś mam wyzerowany wskaźnik, na którym próbuje coś działać. Podobno trzeba znaleźć - po przez debbuger - gdzie zostaje wyzerowany. Tyle wyczytałem.
Także pozdrawiam i dzięki za pomoc : )
Jeśli chodzi o te inicjalizowanie wskaźników. To jakoś tak średnio wiem jak to zrobić. Jest funkcja która pobiera wszystkie wskaźniki, ona jest uruchamiana tuż po stworzeniu obiektu. To nie wystarczy? W tym czasie nic nie jest zapisywane do tych wskaźników. Żeby inicjalizować wskaźnik, trzeba mieć albo zmienną pod którą się podebnie albo tworzyć miejsce w pamięci za pomocą new. To znaczy by wszystkie wskaźniki tworzyć za pomocą new, przepisywać im wartość zerową, a potem w destruktorach usuwać je i nadawać im nullptr?
Ano, jest. Fajna sprawa, podpiąłem się pod gre, no i teraz już wiem. Najpierw był problem z uszkodzeniem sterty. Poduczyłem się o wskaźnikach i zmodyfikowałem wszystko po kolei. Okazało się że używałem delete na wskaźniku który nie stworzyłem operacją new. To był najwidoczniej błąd. Teraz mam błąd 0xC0000005: Access violation reading location 0x00000010 czyli gdzieś mam wyzerowany wskaźnik, na którym próbuje coś działać. Podobno trzeba znaleźć - po przez debbuger - gdzie zostaje wyzerowany. Tyle wyczytałem.
Także pozdrawiam i dzięki za pomoc : )
Jeśli chodzi o te inicjalizowanie wskaźników. To jakoś tak średnio wiem jak to zrobić. Jest funkcja która pobiera wszystkie wskaźniki, ona jest uruchamiana tuż po stworzeniu obiektu. To nie wystarczy? W tym czasie nic nie jest zapisywane do tych wskaźników. Żeby inicjalizować wskaźnik, trzeba mieć albo zmienną pod którą się podebnie albo tworzyć miejsce w pamięci za pomocą new. To znaczy by wszystkie wskaźniki tworzyć za pomocą new, przepisywać im wartość zerową, a potem w destruktorach usuwać je i nadawać im nullptr?