1 namespace a { 2 namespace b { 3 namespace c { 4 static int d = 12; 5 enum Color { Red, Green, Blue }; 6 } // namespace c 7 } // namespace b 8 } // namespace a 9 10 struct A { 11 int _a = 'a'; 12 struct B { 13 short _b = 'b'; 14 struct C { 15 char _c = 'c'; 16 enum EnumType : int { Eleven = 11 }; 17 static EnumType enum_static; 18 }; 19 }; 20 }; 21 22 A::B::C::EnumType A::B::C::enum_static = A::B::C::Eleven; 23 foo()24int foo() { 25 a::b::c::Color color = a::b::c::Blue; 26 return A::B::C::enum_static == a::b::c::d && ((int)color == 0); 27 } 28 main()29int main() { 30 return foo(); // Stop here to evaluate expressions 31 } 32