Default-Konstruktor mit leeren Klammern

Gibt es irgendeinen guten Grund, die leere Runde Klammern (Klammern) ist nicht gültig für den Aufruf der Standard-Konstruktor in C++?

MyObject  object;  //ok - default ctor
MyObject  object(blah); //ok

MyObject  object();  //error

Mir scheint Sie zu geben "()" automatisch jedes mal. Gibt es einen guten Grund, warum dies nicht erlaubt ist?

Sollte jemand einen besseren Titel für dieses, aber ich kann mir nicht denken, was das wäre. Zumindest buchstabieren "Konstruktor" zu helfen, die Suchmaschine(N).
Und dies ist nur ein weiteres gutes Beispiel wo C++ ist Kontext-Sensitiv. Der Beispiel-code in die Frage wäre auch fehl, wenn blah wäre Klasse.

InformationsquelleAutor Martin Beckett | 2008-10-07

Schreibe einen Kommentar