Why "Foo f(Bar());" can be a declaration of a function that takes type Bar and returns type Foo?
My attempt at value initialization is interpreted as a function declaration, and why doesn't A a(()); solve it?