Portál AbcLinuxu, 5. listopadu 2025 10:47
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.