Created on2011-05-06.00:00:00 last changed145 months ago
[Moved to DR at the October, 2012 meeting.]
Proposed resolution (February, 2012):
Change 7.7 [expr.const] paragraph 2 as follows:
...
anid-expression that refers to a variable or datamember of reference type unless...
a conversion from typecvvoid * to apointer-to-object type;
a dynamic cast (7.6.1.7 [expr.dynamic.cast]);
...
Note, January, 2012:
Additional discussion has occurred, so this issue has been returned to"review" status to allow further consideration.
Proposed resolution (August, 2011):
Change 7.7 [expr.const] paragraph 2 as follows:
an lvalue-to-rvalue conversion (7.3.2 [conv.lval])unless it is applied to...
an lvalue-to-rvalue conversion (7.3.2 [conv.lval])that is applied to a glvalue of typecv1T that refersto an object of typecv2U, whereT andU are neither the same type nor similar types (7.3.6 [conv.qual]);
an lvalue-to-rvalue conversion (7.3.2 [conv.lval]) thatis applied to a glvalue that refers to a non-active member...
Although areinterpret_cast is prohibited in a constantexpression, casting to and fromvoid* can achieve the sameeffect.
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2014-03-03 00:00:00 | admin | set | status: drwp -> cd3 |
| 2013-05-03 00:00:00 | admin | set | status: dr -> drwp |
| 2012-11-03 00:00:00 | admin | set | messages: +msg4137 |
| 2012-11-03 00:00:00 | admin | set | status: ready -> dr |
| 2012-09-24 00:00:00 | admin | set | messages: +msg3870 |
| 2012-02-27 00:00:00 | admin | set | messages: +msg3708 |
| 2012-02-27 00:00:00 | admin | set | status: review -> ready |
| 2012-01-17 00:00:00 | admin | set | messages: +msg3601 |
| 2012-01-17 00:00:00 | admin | set | status: ready -> review |
| 2011-05-06 00:00:00 | admin | create | |