Как передать аргументы функции "неупорядоченным" способом (относительно объявления функции)?
Я не очень хорошо знаю, как это сформулировать или объяснить, я думаю, что это простой вопрос, но я просто не могу найти ответ в Интернете.
Я хочу "перебросить" некоторые аргументы в моей (C++) функции. Пример ниже:
void func(int a=1, int b=2, int c=3, int d=5) {
// Do stuff
}
int main(void)
{
func();
}
Как я могу передать, например, что-то, что установит d в 4, используя аргументы по умолчанию других переменных (только передавая аргумент для d)? Что-то вроде:
void func(int a=1, int b=2, int c=3, int d=5) {
// Do stuff
}
int main(void)
{
func(d=4);
}
Я попробовал приведенный выше код, и он не работает должным образом, но я думаю, вы поняли, как мне установить переменную на что-то, не проходя через все остальные?
Пример того, чего я не хочу:
void func(int a=1, int b=2, int c=3, int d=5) {
// Do stuff
}
int main(void)
{
func(1, 2, 3, 4);
}
Любые предложения / ответы? Я помню, что я делал что-то подобное в Python, но я не могу понять, как это сделать в C++.