I would like to propose a new language feature into the language.
The feature is to allow writing default in function values to have default value feed into the function/method as a part of the language.
int foo(int bar = 3, int baz = 7, int* foobar = nullptr, int* foobaz = nullptr) { ... }
...
int foobazval = 78;
auto fooval = foo(13, default, default, &foobazval); // = foo(13, 7, nullptr, &foobazval)
if the function have no default value calling default would be the same as calling the default constructor. Errors would include assigning a default value to a reference type and assigning default to a type with no default constructor.
As a side note I have been told that as a extension allowing a to specify function names could also solve the same problem but I do not want to push for this hard as I think is can break code where the interface definition does not match the implementation. This second approach would allow C++ developer to only assign to field the the need in as order they want like in the example bellow.
auto fooval = foo(
bar : 13,
foobaz : &foobazval);