История изменений
Исправление slovazap, (текущая версия) :
enum имеет значение строго из определённого списка. Битовые операции множество значений, естественно, значительно расширяют. Так что результат - int, но никак не enum.
PS. А если хочется наглядности в сигнатуре функции, используй что-то типа typedef int FT_flags_t. В C, разумеется, безо всяких статических проверок. В C++ действительно можно сделать аналог QFlags, причем так чтобы никто на него не ругался.
Исправление slovazap, :
enum имеет значение строго из определённого списка. Битовые операции множество значений, естественно, значительно расширяют. Так что результат - int, но никак не enum.
PS. А если хочется наглядности в сигнатуре функции, используй что-то типа typedef int FT_flags_t. В C, разумеется, безо всяких статических проверок. В C++ действительно можно сделать аналог QFlags, никто ругаться на него не будет.
Исходная версия slovazap, :
enum имеет значение строго из определённого списка. Битовые операции множество значений, естественно, значительно расширяют. Так что результат - int, но никак не enum.