Typy v C++
Tomáš Hamouz
konfery.tomas.hamouz na seznam.cz
Pátek Leden 14 16:17:17 CET 2022
1 je defaultně signed, provede se konverze na signed.
Zkus napsat LastCounter+1U
Tomáš
> 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
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list