1*f74aaca6SMichael Buch union Foo { 2*f74aaca6SMichael Buch int val = 42; 3*f74aaca6SMichael Buch static const int sVal1 = -42; 4*f74aaca6SMichael Buch static Foo sVal2; 5*f74aaca6SMichael Buch }; 6*f74aaca6SMichael Buch 7*f74aaca6SMichael Buch Foo Foo::sVal2{}; 8*f74aaca6SMichael Buch 9*f74aaca6SMichael Buch namespace { 10*f74aaca6SMichael Buch union Bar { 11*f74aaca6SMichael Buch int val = 137; 12*f74aaca6SMichael Buch static const int sVal1 = -137; 13*f74aaca6SMichael Buch static Bar sVal2; 14*f74aaca6SMichael Buch }; 15*f74aaca6SMichael Buch 16*f74aaca6SMichael Buch Bar Bar::sVal2{}; 17*f74aaca6SMichael Buch } // namespace 18*f74aaca6SMichael Buch main()19*f74aaca6SMichael Buchint main() { 20*f74aaca6SMichael Buch Foo foo; 21*f74aaca6SMichael Buch Bar bar; 22*f74aaca6SMichael Buch auto sum = Bar::sVal1 + Foo::sVal1 + Foo::sVal2.val + Bar::sVal2.val; 23*f74aaca6SMichael Buch 24*f74aaca6SMichael Buch return 0; 25*f74aaca6SMichael Buch } 26