I have a class A
with a default constructor and a class B
with a constructor that takes an object of class A
as sole argument.
As a natural way to Create an object of class B
I would consider
B b(A());
But the compiler interprets this as a function declaration.
I know that
B b((A()));
or
B b {A()};
are alternatives. But my question is: How can the first version be interpreted as a function declaration? From my point of view it doesn't look like one.