| union Foo { | |
| int val = 42; | |
| static const int sVal1 = -42; | |
| static Foo sVal2; | |
| }; | |
| Foo Foo::sVal2{}; | |
| namespace { | |
| union Bar { | |
| int val = 137; | |
| static const int sVal1 = -137; | |
| static Bar sVal2; | |
| }; | |
| Bar Bar::sVal2{}; | |
| } // namespace | |
| int main() { | |
| Foo foo; | |
| Bar bar; | |
| auto sum = Bar::sVal1 + Foo::sVal1 + Foo::sVal2.val + Bar::sVal2.val; | |
| return 0; | |
| } |