Portál AbcLinuxu, 13. května 2025 23:19
cout << direction;
if (direction == 3)
if (direction == (Uint8) 3)
if (direction == (unsigned char) 3)
if (direction > 3)
Mno a co říká cout << (Uint8) direction
?
Řekl bych, že problém by mohl být spojen s typovou konverzí a přetěžováním operátorů. Něco jsem o tom našel na
Zkusil bych porovnat
if (5 == uint8_t(direction))
. Co to dělá? Taky bych zkusil cout << uint8_t(direction)
. Ale rozhodně bych si přečetl nějakou dokumentaci k SDL na téma Uint8.
Osmibitový typ se vypisuje jako znak. Takže to nevypsalo 3, ale '3' (51).
cout << (int) direction;
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.