Movatterモバイル変換


[0]ホーム

URL:


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

2025-11-05


2351.void{}

Section:7.6.1.4  [expr.type.conv]    Status:CD5    Submitter:Peter Dimov    Date:2017-06-26

[Accepted as a DR at the June, 2018 (Rapperswil) meeting.]

According to 7.6.1.4 [expr.type.conv] paragraph 2,

If the initializer is a parenthesized single expression, the typeconversion expression is equivalent to the corresponding cast expression(7.6.3 [expr.cast]). Otherwise, if the type iscvvoid and the initializer is() , the expression is aprvalue of the specified type that performs no initialization. Otherwise,the expression is a prvalue of the specified type whose result object isdirect-initialized (9.5 [dcl.init]) with the initializer. For anexpression of the formT(),T shall not be an array type.

It seems an oversight thatvoid{} is not treated likevoid().

Proposed resolution, April, 2018:

Change 7.6.1.4 [expr.type.conv] paragraph 2 as follows:

...Otherwise, if the type iscvvoid and the initializer is()or{}, the expression is a prvalue of thespecified type that performs no initialization. Otherwise...



[8]ページ先頭

©2009-2025 Movatter.jp