Title
Complete type required for implicit conversion to T&
Status
cd3
Section
6.3 [basic.def.odr]
Submitter
Richard Smith

Created on 2011-08-16.00:00:00 last changed 130 months ago

Messages

Date: 2012-02-15.00:00:00

[Voted into the WP at the February, 2012 meeting; moved to DR at the October, 2012 meeting.]

Date: 2011-08-15.00:00:00

Proposed resolution (August, 2011):

Change the indicated bullet of 6.3 [basic.def.odr] paragraph 4 as follows:

  • an expression that is not a null pointer constant, and has type other than cv void*, is converted to the type pointer to T or reference to T using an implicit a standard conversion ( 7.3 [conv]), a dynamic_cast (7.6.1.7 [expr.dynamic.cast]) or a static_cast (7.6.1.9 [expr.static.cast]), or

Date: 2022-09-25.18:08:42

The requirement in 6.3 [basic.def.odr] paragraph 4 that a type T must be complete if an expression is implicitly converted to a pointer to T or reference to T inadvertently applies to user-defined conversions, although it was intended only to refer to built-in conversions.

History
Date User Action Args
2014-03-03 00:00:00adminsetstatus: drwp -> cd3
2012-11-03 00:00:00adminsetstatus: dr -> drwp
2012-02-27 00:00:00adminsetmessages: + msg3786
2012-02-27 00:00:00adminsetstatus: ready -> dr
2011-09-06 00:00:00adminsetmessages: + msg3422
2011-08-16 00:00:00admincreate