Why is there no call to the constructor? [duplicate]
Nope. Your line Class object();
Declared a function. What you want to write is Class object;
Try it out.
You may also be interested in the most vexing parse (as others have noted). A great example is in Effective STL Item 6 on page 33. (In 12th printing, September 2009.) Specifically the example at the top of page 35 is what you did, and it explains why the parser handles it as a function declaration.
No call to constructor
Because the constructor never gets called actually.
Class object();
is interpreted as the declaration of a function object
taking no argument and returning an object of Class
[by value]
Try Class object;
EDIT:
As Mike noticed this is not exactly the same code as what you are feeding to the compiler. Is the constructor/destructor public
or is Class
a struct?
However google for C++ most vexing parse.