@Anvario0

Как пропустить аргумент функции при её вызове?

Если я, например, написал вот такую функцию:
void plusInt(int a = 0, int b = 0)
{
	cout << "a + b = " << a + b;
}


И хочу вызвать её, передав только параметр b. Как это сделать?
  • Вопрос задан
  • 523 просмотра
Решения вопроса 1
gbg
@gbg Куратор тега C++
Любые ответы на любые вопросы
Средствами самого C++ - никак, это не Питон.

Можно наизобретать костылей вокруг этого, начиная от передачи параметров через структуру, и заканчивая более навороченными решениями.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
mayton2019
@mayton2019
Bigdata Engineer
Есть понятие partially defined функция. Это работает в Haskell, Scala. Результатом такого например
применения будет просто онлайн компилляция новой функции с меньшим числом аргументов.

plusInt(_, b)

Но для С++ тем более в данном контексте использования тебе проще сделать просто еще одну функцию.
Кстати обращаю твоё внимание на то что функции обычно возвращают занчения. А побочный эффект
такой как cout - лучше просто вызвать отдельно.

Мотивация станет более ясна когда будешь такой код тестировать. Всегда проще проверить результат чем анализировать потоки вывода.
Ответ написан
Комментировать
QWERTYUIOPas
@QWERTYUIOPas
КраткоОСеБе
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы