Укажите количество бит, которые нужно использовать для enum в C (ошибка компиляции, если значение не подходит) - PullRequest
0 голосов
/ 24 января 2020

Не нужно быть портативным. Пока это работает для одного компилятора, я могу сделать ifdef, чтобы включить его только на этом компиляторе. Я бы предпочел решение G CC, но подойдет любой компилятор. Я использую C99.

Для контекста я пытаюсь упаковать некоторые данные в 32 бита, и одно из упаковываемых полей, которое я хочу представить с помощью enum, должно быть только 7 бит в ширину. Если я сделаю его больше 7 бит, я потеряю один из битов, поэтому я хотел бы получить ошибку компилятора, если я определю значение enum, которое не может поместиться в 7 битах.

...