| 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 | |
| } |