Nieobsłużony wyjątek w lokalizacji 0x0135F331 w ImperialsSymulation.exe: 0xC0000005: Naruszenie zasad dostępu podczas zapisywania w lokalizacji 0x05CBA000.: wystąpił wyjątek

0

Witam!
Mam problem z kodem. Kompilacja przebiega poprawnie, lecz po uruchomieniu programu pojawia mi się taki błąd:

Nieobsłużony wyjątek w lokalizacji 0x0135F331 w ImperialsSymulation.exe: 0xC0000005: Naruszenie zasad dostępu podczas zapisywania w lokalizacji 0x05CBA000.: wystąpił wyjątek

KOD:

void Entyty::reproduction(vector<Entyty>& target)
{
    target.emplace_back( this->shape.getPosition().x, this->shape.getPosition().y, 1);
    this->shape.move(this->velocity);
}

Jakby potrzeba było więcej kodu lub coś dopowiedzieć piszcie.

0

Odpal w debuggerze, lub z address sanitizerem i pokaż odpowiedni output, nie dałeś właściwie żadnego kodu.

0

Czego jeszcze potrzebujesz?

PS.: Debugger pokazuje mi jedynie jakiś plik nie należący do projektu "xmemory0" i linie w której ten wyjątek nastąpił( chyba ten plik należy do SFML).

0

Ja bym sprawdził czy this->shape jest poprawny. I klasa chyba powinna chyba się nazywać Entity, a nie Entyty.

0

miała się nazywać Entity ale zrobiłem literówkę

0
  1. Uruchom w debugerze
  2. Odtwórz crash
  3. Debuger zatrzyma program
  4. Znajdź okno "call stack"
  5. Klikaj kolejne pozycje w "call stack" aż dosjdziesz do swojego kodu
  6. Przeanalizuj wartości wskaźników (w tym this) i porównaj z adresem, który powoduje SegFault. Wartość 0xC0000005: wskazuje na to, że gdzieś użyłeś wartość null (0x0).
  7. Być może musisz sprawdzić kod leżący głębiej w "call stack".
  8. Jak masz więcej pytań wklej kod, który ci wskazuje "call stack" (wraz z jego kontekstem), te dwie linijki to zdecydowanie za mało.

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