Created on 2012-03-29.00:00:00 last changed 94 months ago
[Moved to DR at the November, 2014 meeting.]
Proposed resolution (June, 2014):
This issue is resolved by the resolution of issue 1467.
Notes from the October, 2012 meeting:
CWG agreed that the first example should be permitted, but not the second.
Initialization of an array of characters from a string literal is handled by the third bullet of 9.4 [dcl.init] paragraph 16, branching off to 9.4.3 [dcl.init.string]. However, list initialization is handled by the first bullet, branching off to 9.4.5 [dcl.init.list], and there is no corresponding special case in 9.4.5 [dcl.init.list] paragraph 3 for an array of characters initialized by a brace-enclosed string literal. That is, an initialization like
char s[4]{"abc"};
is ill-formed, which could be surprising. Similarly,
std::initializer_list<char>{"abc"};
is plausible but also not permitted.
History | |||
---|---|---|---|
Date | User | Action | Args |
2017-02-06 00:00:00 | admin | set | status: drwp -> cd4 |
2015-05-25 00:00:00 | admin | set | status: dr -> drwp |
2015-04-13 00:00:00 | admin | set | messages: + msg5387 |
2014-11-24 00:00:00 | admin | set | status: ready -> dr |
2014-07-07 00:00:00 | admin | set | status: drafting -> ready |
2014-03-03 00:00:00 | admin | set | messages: + msg4887 |
2012-11-03 00:00:00 | admin | set | messages: + msg4095 |
2012-11-03 00:00:00 | admin | set | status: open -> drafting |
2012-03-29 00:00:00 | admin | create |