Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SDL] Czy ktoś to potrafi wyjaśnić?

Ostatnio zmodyfikowano 2013-01-15 12:27
Autor Wiadomość
CoroDaNem
Temat założony przez niniejszego użytkownika
[SDL] Czy ktoś to potrafi wyjaśnić?
» 2013-01-15 11:30:54
Witam.

Napisałem ostatnio coś takiego w SDL-u (przy pomocy WinAPI):

C/C++
//...

obrazek1 = SDL_LoadBMP( "" );
obrazek2 = SDL_LoadBMP( "" );

if( obrazek1 || obrazek2 == NULL ) MessageBox(, "", "", );

//...

Na czym tutaj może polegać problem (który po chwili rozwiązałem)?
Otóż mamy warunek, który sprawdza czy, któryś z dwóch obrazków nie został załadowany, gdy tak się dzieje zostaje wyświetlony messagebox z odpowiednim komunikatem. Załóżmy, że oba pliki graficzne są odpowiednio przygotowane (lokalizacja, format itd.), no i dzieje się coś niespodziewanego. Z nieznanych mi przyczyn warunek się spełnia (czyli występuje błąd w załadowaniu obrazków) co skutkuje zaburzoną pracą programu. Lecz gdy zrobię tak:

C/C++
//...

obrazek1 = SDL_LoadBMP( "" );
obrazek2 = SDL_LoadBMP( "" );

if( obrazek1 == NULL ) MessageBox(, "", "", );

if( obrazek2 == NULL ) MessageBox(, "", "", );

//...

... wszystko działa w porządku. Czy ktoś potrafi wyjaśnić dlaczego dzieje się rzecz opisana wyżej?
P-74009
krzyk
» 2013-01-15 11:45:30
to
if( obrazek1 || obrazek2 == NULL ) MessageBox(, "", "", );

jest dokładnie tym
if( obrazek1 != NULL || obrazek2 == NULL ) MessageBox(, "", "", );
P-74011
CoroDaNem
Temat założony przez niniejszego użytkownika
» 2013-01-15 12:06:41
Chyba nie potrafię tego zrozumieć, wytłumaczyłbyś w małych szczegółach?
P-74018
krzyk
» 2013-01-15 12:27:52
Znaczy to tyle: if( jest_obrazek1 lub niema_obrazka2)

» Kurs C++ » Poziom 1Operacje porównania lekcja
P-74019
« 1 »
  Strona 1 z 1