Created on 2014-07-22.00:00:00 last changed 95 months ago
[Moved to DR at the May, 2015 meeting.]
Proposed resolution (April, 2015):
Change 11.4.8.2 [class.conv.ctor] paragraph 2 as follows:
[Note: An explicit constructor constructs objects just like non-explicit constructors, but does so only where the direct-initialization syntax (9.4 [dcl.init]) or where casts (7.6.1.9 [expr.static.cast], 7.6.3 [expr.cast]) are explicitly used; see also 12.2.2.5 [over.match.copy]. A default constructor may be an explicit constructor; such a constructor will be used to perform default-initialization or value-initialization (9.4 [dcl.init]). [Example: ... —end example] —end note]
The conditions under which an explicit constructor will be used are given in 11.4.8.2 [class.conv.ctor] paragraph 2:
An explicit constructor constructs objects just like non-explicit constructors, but does so only where the direct-initialization syntax (9.4 [dcl.init]) or where casts (7.6.1.9 [expr.static.cast], 7.6.3 [expr.cast]) are explicitly used. A default constructor may be an explicit constructor; such a constructor will be used to perform default-initialization or value-initialization (9.4 [dcl.init]).
The existence of this wording in normative text is confusing and should probably simply say that explicit constructors are used in direct initialization, with cross-references to 9.4 [dcl.init] and 12.2.2.5 [over.match.copy], possibly as a note.
History | |||
---|---|---|---|
Date | User | Action | Args |
2017-02-06 00:00:00 | admin | set | status: drwp -> cd4 |
2015-11-10 00:00:00 | admin | set | status: dr -> drwp |
2015-05-25 00:00:00 | admin | set | messages: + msg6055 |
2015-05-25 00:00:00 | admin | set | status: tentatively ready -> dr |
2015-04-13 00:00:00 | admin | set | messages: + msg5315 |
2015-04-13 00:00:00 | admin | set | status: drafting -> tentatively ready |
2014-07-22 00:00:00 | admin | create |