KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Treating enum s as flags works nicely in C# via the [Flags] attribute, but what's the best way to do this in C++? For example, I'd like to write: enum AnimalFlags { HasClaws = 1, CanFly =2, EatsFish = 4, Endangered = 8 }; seahawk.flags = CanFly | EatsFish | Endangered; However, I get compiler errors regarding int / enum conversions. Is there a nicer way to express this than just blunt casting? Preferably, I don't want to rely on constructs from 3rd party libraries such as boost or Qt. EDIT: As indicated in the answers, I can avoid the compiler error by declaring seahawk.flags as int . However, I'd like to have some mechanism to enforce type safety, so someone can't write seahawk.flags = HasMaximizeButton .
Tags (comma-separated)
Save Edits
Cancel