I am trying to understand how default constructor (provided by the compiler if you do not write one) versus your own default constructor works.
So for example I wrot
A n();
could be parsed as an object definition with an empty initializer or a function declaration.
The language standard specifies that the ambiguity is always resolved in favour of the function declaration (§8.5.8).
So n is a function without arguments returning an A.
n
A