There are ways to change how a function can be called beside from default arguments.

 - one can use "using namesspace directives" and "using declarations" to place them into a namespace scope

 - one can assign them to a function pointer

 - std::bind, std::bind_front, std::bind_back to bind parameters

 

The transition into an actual wrapper or proxy function is blurred.

 

Changing some defaults or conventions at the call site is not unheard of and a typical programming method. Should those methods only work with another name to be called to see the difference to the original function. Perhaps.
 

-----Ursprüngliche Nachricht-----
Von: Jason McKesson via Std-Proposals <std-proposals@lists.isocpp.org>
Gesendet: So 04.01.2026 17:11
Betreff: Re: [std-proposals] Labelled parameters
An: std-proposals@lists.isocpp.org;
CC: Jason McKesson <jmckesson@gmail.com>;
On Sun, Jan 4, 2026 at 10:15 AM Jan Schultke via Std-Proposals

So to me, the question of explicit vs. non-explicit syntax ultimately
boils down to this: do you want named parameters to be a property of
the function entity or not? Are they ephemeral like default arguments,
changeable with declarations and thus are mere suggestions, or are
they real pieces of syntax that are a part of the entity?