Process terminated with status -1073741819
Ostatnio zmodyfikowano 2015-02-22 14:30
drudl Temat założony przez niniejszego użytkownika |
Process terminated with status -1073741819 » 2015-02-22 00:10:09 Mam problem z moją grą. Po użyciu tej funkcji: tablica_zderzen & glowny_bohater::ktora_tablice_zderzen_urzyc() { tablica_zderzen & wybrana = obiekt_zwrocony_w_lewo; switch( co_robi ) { case 0: { switch( w_ktora_strone_jest_zwrocony ) { case 0: { wybrana = obiekt_zwrocony_w_prawo; break; } case 1: { wybrana = obiekt_zwrocony_w_lewo; break; } } break; } case 1: { switch( w_ktora_strone_jest_zwrocony ) { case 0: { wybrana = wsk_na_tablice_animacji_obiektow_zwroconych_w_prawo[ przebieg_animacji ]; break; } case 1: { wybrana = wsk_na_tablice_animacji_obiektow_zwroconych_w_prawo[ przebieg_animacji ]; break; } } break; } case 2: { wybrana = obiekt_zwrocony_w_lewo; break; } } return wybrana; } gra zamyka się z błędem. Gra działa normalnie, ale kiedy wychodzę z głównej pętli po naciśnięciu klawisza escape pojawia się ten błąd: Process terminated with status -1073741819. Przed użyciem tej funkcji wszystko było w porządku. |
|
michal11 |
» 2015-02-22 00:22:46 Próbowałes debugować ? |
|
aksen |
» 2015-02-22 00:51:03 stawiałbym na wyjście poza zakres tablicy: wsk_na_tablice_animacji_obiektow_zwroconych_w_prawo[ przebieg_animacji ];
PS. może uzyc, a nie urzyc? ;)
nie przesadzasz z długością nazw? |
|
drudl Temat założony przez niniejszego użytkownika |
» 2015-02-22 11:05:19 Udało się rozwiązać problem przy użyciu tej funkcji: const tablica_zderzen & glowny_bohater::ktora_tablice_zderzen_urzyc() { switch( co_robi ) { case 0: { switch( w_ktora_strone_jest_zwrocony ) { case 0: { return obiekt_zwrocony_w_prawo; break; } case 1: { return obiekt_zwrocony_w_lewo; break; } } break; } case 1: { switch( w_ktora_strone_jest_zwrocony ) { case 0: { return wsk_na_tablice_animacji_obiektow_zwroconych_w_prawo[ przebieg_animacji ]; break; } case 1: { return wsk_na_tablice_animacji_obiektow_zwroconych_w_lewo[ przebieg_animacji ]; break; } } break; } case 2: { return obiekt_zwrocony_w_lewo; break; } default: { return obiekt_zwrocony_w_lewo; } } } A jeśli chodzi o długość nazw, to wpływa ona jakoś istotnie na działanie programu? |
|
pekfos |
» 2015-02-22 11:17:45 A jeśli chodzi o długość nazw, to wpływa ona jakoś istotnie na działanie programu? |
Bynajmniej. Ale patrzeć się na taki kod nie da.. Btw, tę funkcję można by zapisać 3 razy krócej, nawet nie ruszając nazw. |
|
aksen |
» 2015-02-22 13:01:39 case 0: { return obiekt_zwrocony_w_prawo; break; } case 1: { return obiekt_zwrocony_w_lewo; break; }
Jak jest "return" to już nie potrzeba "break". i zostaje tyle: case 0: return obiekt_zwrocony_w_prawo; case 1: return obiekt_zwrocony_w_lewo;
PS. switch cacse ogólnie ma sens w przypadku więcej niż 2 opcji dla 2 opcji stosowałbym if else np. if( w_ktora_strone_jest_zwrocony ) return obiekt_zwrocony_w_lewo; else return obiekt_zwrocony_w_prawo;
|
|
pekfos |
» 2015-02-22 14:05:46 Jak jest "return" to już nie potrzeba "break". |
if( w_ktora_strone_jest_zwrocony == 0 ) return obiekt_zwrocony_w_prawo; else return obiekt_zwrocony_w_lewo; |
Ani else.. Tu zresztą wystarczy sam return. Może skróć raz a dobrze, temat nie tego dotyczył ;) |
|
aksen |
» 2015-02-22 14:13:40 Poprawka dla pekfosa ;) if( w_ktora_strone_jest_zwrocony ) return obiekt_zwrocony_w_lewo;
return obiekt_zwrocony_w_prawo;
|
|
« 1 » 2 |