Date
2010-07-17.00:00:00
Message id
2886

Content

9.5 [dcl.init] paragraph 7 only describes how to initialize objects:

To value-initialize an object of type T means:

However, 7.6.1.4 [expr.type.conv] paragraph 2 calls for value-initializing prvalues, which in the case of scalar types are not objects:

The expression T(), where T is a simple-type-specifier or typename-specifier for a non-array complete object type or the (possibly cv-qualified) void type, creates a prvalue of the specified type, which is value-initialized (9.5 [dcl.init]; no initialization is done for the void() case).