What are the advantages/disadvantages of using namespace enums vs enum classes, e.g.
namespace Animals {
enum { dog, cat, bird, fish };
}
vs.
enum class Animals { dog, cat, bird, fish };
My preference is to use enums in namespaces because then I don't have to deal with the annoying type conversion every time I want to print something, but I know people probably have good reasons for preferring enum classes, and I would like to learn why. For example, what kind of problems could I run into down the road with namespace enums, and are they considered bad practice?