TITLE: What do contstructors return? PROBLEM: ??? Finally, the ARM says that the constructor is not true a callable function which has no return type, yet cfront allows: Object(3).doSomething() which implies that constructors *DO* return values (i.e., the object being constructed,) and that it returns an lvalue. RESPONSE: pkturner@world.std.com (Prescott K Turner) Here, you've made the common error of mistaking Object(3) for a function call, when it's actually an explicit conversion (ARM 5.2.3). RESPONSE: mat@mole-end.matawan.nj.us (Mark Terribile), 16 Aug 92 This is true, but perhaps not quite complete. If the constructor took several arguments, you could still use it: x += Complex( alpha, ( alpha + 1 ) / beta ); Thus expression are permitted beyond what conversions alone allow. I somewhere saw this construct called a `value builder' and I like the term.