| namespace a { |
| namespace b { |
| namespace c { |
| static int d = 12; |
| enum Color { Red, Green, Blue }; |
| } // namespace c |
| } // namespace b |
| } // namespace a |
| |
| struct A { |
| int _a = 'a'; |
| struct B { |
| short _b = 'b'; |
| struct C { |
| char _c = 'c'; |
| enum EnumType : int { Eleven = 11 }; |
| static EnumType enum_static; |
| }; |
| }; |
| }; |
| |
| A::B::C::EnumType A::B::C::enum_static = A::B::C::Eleven; |
| |
| int foo() { |
| a::b::c::Color color = a::b::c::Blue; |
| return A::B::C::enum_static == a::b::c::d && ((int)color == 0); |
| } |
| |
| int main() { |
| return foo(); // Stop here to evaluate expressions |
| } |