Created on 2010-08-02.00:00:00 last changed 96 months ago
[Voted into the WP at the November, 2010 meeting.]
Proposed resolution (August, 2010):
Change 5.13.8 [lex.ext] paragraph 6 as follows:
If L is a user-defined-character-literal, let ch be the literal without its ud-suffix.
Theliteral L is treated as a call of the formoperator "" X (ch )
In general, the parameter type of a literal operator must be the same as the argument passed to it. That is not the case for a user-defined-character-literal, where the argument could inadvertently match a literal operator intended for use with user-defined-integer-literals:
typedef unsigned long long ULL; int operator "" X(ULL); int i = 'c'X; // operator"" X(ULL('c'))
Suggested resolution: Add the following phrase to the description in paragraph 6:
S shall contain a literal operator whose parameter type is the same as the type of ch.
|2014-03-03 00:00:00||admin||set||status: fdis -> c++11|
|2011-04-10 00:00:00||admin||set||status: dr -> fdis|
|2010-11-29 00:00:00||admin||set||messages: + msg3144|
|2010-11-29 00:00:00||admin||set||status: ready -> dr|
|2010-08-23 00:00:00||admin||set||messages: + msg2756|