This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 110b. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.

2023-01-15


1134. When is an explicitly-defaulted function defined?

Section: 9.5.2  [dcl.fct.def.default]     Status: C++11     Submitter: US     Date: 2010-08-02

[Voted into the WP at the November, 2010 meeting.]

N3092 comment US 47

9.5.2 [dcl.fct.def.default] paragraph 4 says,

A special member function is user-provided if it is user-declared and not explicitly defaulted on its first declaration. A user-provided explicitly-defaulted function is defined at the point where it is explicitly defaulted...

The second sentence should say “user-declared” instead of “user-provided.”

Proposed resolution (September, 2010):

Change 9.5.2 [dcl.fct.def.default] paragraph 4 as follows:

...A special member function is user-provided if it is user-declared and not explicitly defaulted on its first declaration. A user-provided explicitly-defaulted function (i.e., explicitly defaulted after its first declaration) is defined at the point where it is explicitly defaulted; if such a function is implicitly defined as deleted, the program is ill-formed. [Note:...
[Drafting note: the suggestion in the NB comment is incorrect. The proposed resolution clarifies the intent.]