Вопросы к Поиску с Алисой
Разница между scoped и unscoped перечислениями в C++ заключается в области видимости перечислителей и в возможности неявных преобразований. habr.com learn.microsoft.com
Unscoped перечисления экспортируют свои перечислители в объёмлющую область видимости, что может привести к конфликту имён. habr.com Перечислители такого типа не могут иметь одинаковое имя, даже если они принадлежат к разным перечислениям. blog.nipraas.com Кроме того, unscoped перечисления могут быть неявно преобразованы к своему базовому типу. habr.com
Scoped перечисления добавляют перечислители в новую область видимости, для доступа к которым нужно использовать имена перечислений. blog.nipraas.com Перечислители scoped-перечисления не могут быть неявно преобразованы к целым числам, для преобразования необходимо использовать явное приведение. blog.nipraas.com learn.microsoft.com
Из-за нежелательности неявных преобразований рекомендуется использовать scoped, а не unscoped перечисления. habr.com