Re: Присвоение переменной перечисления побитового ИЛИ констант этого перечислени
От: Кодт Россия  
Дата: 29.08.13 14:29
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Могут ли быть проблемы в таком использовании переменной перечисления, учитывая что (flag_a | flag_b) не принадлежит перечислению)?


Проблема лишь в том, что flag_a|flag_b — это не SomeFlags, а просто int (или другой подходящий целый тип, в соответствии с правилами целочисленного продвижения).
Поэтому на f(flag_a|flag_b) компилятор будет ругаться.
А в остальном, проблем нет.

Да, кстати. Битовые флаги удобно не вручную высчитывать (сколько там будет 2^29?), а писать на сдвигах
enum SomeFlags {
  flag_a = 1<<0,
  flag_b = 1<<1,
  .....
  flag_n = 1<<n,
};
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.