Title
Restrictions on arguments for ellipsis parameter
Status
open
Section
7.6.1.3 [expr.call]
Submitter
Brian Bi

Created on 2026-06-09.00:00:00 last changed 6 days ago

Messages

Date: 2026-06-25.21:33:46

Possible resolution:

Change in 7.6.1.3 [expr.call] paragraph 12 as follows:

... The lvalue-to-rvalue (7.3.2 [conv.lval]), array-to-pointer (7.3.3 [conv.array]), and function-to-pointer (7.3.4 [conv.func]) standard conversions are performed on the argument expression. An argument that has type cv std::nullptr_t is converted to type void* (7.3.12 [conv.ptr]). After these conversions, if the argument does not have arithmetic, enumeration, pointer, pointer-to-member, or class type has type cv void or cv std::meta::info, the program is ill-formed. ...
Date: 2026-06-09.00:00:00

(From submission #918.)

In 7.6.1.3 [expr.call] paragraph 12, the restriction on argument types that can be passed to an ellipsis parameter is phrased in an overly convoluted way.

History
Date User Action Args
2026-06-25 21:33:46adminsetmessages: + msg8612
2026-06-09 00:00:00admincreate