Why doesn't it compile? > auto foo() { > struct Foo { > int a, b; > } > return Foo({ > a: 10, > b: 20 > }); > } Valid C++14: > auto foo() { > struct Foo { > int a, b; > }; > return Foo({ > .a = 10, > .b = 20 > }); > }