Typy v C++
Pavel Kutina
hw na prelude.cz
Pátek Leden 14 16:13:01 CET 2022
Zdravím,
opět něco nechápu, můžete mne poštouchnout?
Píšu FW v STM Cube, mám deklarované dvě proměnné:
unsigned int cnt = 0;
uint16_t LastCounter = 0;
při porovnání v:
if (LastCounter+1 == cnt)
mi to píše warning:
../src/receive.cpp:129:22: warning: comparison of integer expressions of
different signedness: 'int' and 'unsigned int' [-Wsign-compare]
129 | if ( (LastCounter+1) == cnt)
| ~~~~~~~~~~~~~~^~~~~~
Chápu dobře, že unsigned int a uint16_t nejsou znaménkově kompatibilní typy?
Proč ne?
Na něco podbného jsem narazil před chvílí u sscanf, kde se mi to zase
vztekalo pri použití uint16_t (jsem tam měl) místo unsigned int (který to
chtělo).
Popravdě, asi 90% času tohoto projektu trávím rovnáním datových typů, hodne
v tom plavu :(
Díky.
Pavel Kutina
Další informace o konferenci Hw-list