Правила программирования на С и С++. Главы 7-8 Страница 5. Для битового поля размером 1 бит должен быть определен тип unsigned
|
Страница 5 из 74 86. Для битового поля размером 1 бит должен быть определен тип unsigned. После того, как ANSI С позволил назначать битовому полю знаковый тип, мне доводилось видеть код, подобный: struct fred { int i : 1;} a_fred; Возможными значениями являются 0 и -1. Оператор типа: #define TRUE 1 // ... if( a_fred.i == TRUE ) // ... не будет работать, потому что поле a_fred.i может иметь значение 0 или -1, но оно никогда не будет равняться 1. Следовательно, оператор if всегда не выполняется. |