Created on 2011-05-22.00:00:00 last changed 142 months ago
[Voted into the WP at the February, 2012 meeting; moved to DR at the October, 2012 meeting.]
Proposed resolution (August, 2011):
This issue is resolved by the resolution of issue 1301.
One would expect that an example like
struct B {
B(const B&) = default;
};
B b{};
would invoke value-initialization, but (because it does not have a default constructor), the logic ladder of 9.5.5 [dcl.init.list] paragraph 3 makes it aggregate initialization instead:
If the initializer list has no elements and T is a class type with a default constructor, the object is value-initialized.
Otherwise, if T is an aggregate, aggregate initialization is performed (9.5.2 [dcl.init.aggr]).
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2014-03-03 00:00:00 | admin | set | status: drwp -> cd3 |
| 2012-11-03 00:00:00 | admin | set | status: dr -> drwp |
| 2012-09-24 00:00:00 | admin | set | messages: + msg4007 |
| 2012-02-27 00:00:00 | admin | set | messages: + msg3816 |
| 2012-02-27 00:00:00 | admin | set | status: ready -> dr |
| 2011-05-22 00:00:00 | admin | create | |