Модуль: Введение в параметры и аргументы функций


1. Введение в параметры и аргументы функций


На предыдущем уроке мы узнали, что функция может возвращать значение обратно в вызывающую функцию. Мы использовали это для создания модульной функции getValueFromUser, которую мы использовали в этой программе:


Однако что, если мы также захотим поместить строку вывода в отдельную функцию? Вы можете попробовать что-то вроде этого:


Этот код не скомпилируется, потому что функция printDouble не знает, что такое идентификатор num. Вы можете попробовать определить num как переменную внутри функции printDouble():
void printDouble()
{
	int num{}; // мы добавили эту строку
	std::cout << num << " doubled is: " << num * 2 << '\n';
}

Хотя это устраняет ошибку компиляции и делает программу пригодной для компиляции, программа по-прежнему работает некорректно (всегда выводит «0 doubled is: 0»). Суть проблемы здесь в том, что у функции printDouble нет способа получить доступ к значению, введенному пользователем.

Нам нужен способ передать значение переменной num в функцию printDouble, чтобы printDouble могла использовать это значение в теле функции.

time 1000 ms
memory 256 Mb

Комментарий учителя