ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 апреля
1037333 Топик полностью
ir0407 (17.09.2020 17:42, просмотров: 647) ответил teap0t на #8 Есть объявление
Я конечно не такой спец по сям, как тут присутствуют, но как я понимаю, !DISABLE будет только в одном случае, который еще, в добавок ко всему, может зависеть от некоторых сторонних факторов, которые иногда могут вылезти боком в самых неожиданных случаях. Согласно булевой парадигмы в сях логично было бы указать, что ENABLE != DISABLE, тогда ENABLE может иметь любое значение отличное от DISABLE и в этом случае ваш вопрос по поводу того, что "условие "= !DISABLE" выполняется 

всегда</i>" будет корректным.


А что касается записи :

#define IS_FUNCTIONAL_STATE(STATE) (((STATE) == DISABLE) || ((STATE) == ENABLE))

то она избыточна, потому как NewState само по себе будет "булево" и может принимать значение либо только "ноль", либо только "не ноль". А если так, то вполне достаточно записи вида :

assert_param(NewState);

без всяких лишних макросов.