Хотя квалификация значения перечисления с именем перечисления недопустима C ++ 03, это действительно C ++ 11, насколько я понимаю. Несмотря на это, MSVC 10 генерирует предупреждение C4482 для следующего:
enum E { A, B };
int i = E::A; // warning C4482 (but valid C++11?)
Поскольку большая часть нашего кода использует функции C ++ 11 (особенно лямбды), кажется безопасным отключить это предупреждение. Я прав, что код действителен C ++ 11?
Примечание: я не писал код, о котором идет речь, и предпочел бы не проходить и не изменять каждое вхождение этого.
Редактировать: Добавлены некоторые соответствующие ссылки.