Виклик функції

Виклик функції здійснюється в потрібному місці програми за її іменем (аналогічно як і для стандартних бібліотечних функцій) у такому загальному форматі:

ім’я_функції([список_аргументів])

Поле список_аргументів задає значення фактичних параметрів, які підставлються у відповідні формальні параметри. На відміну від списку формальних параметрів у списку аргументів не потрібно вказувати тип аргумента, достатньо записати лише ідентифікатор. В загальному випадку аргумент може задаватися виразом відповідного типу, тобто типу який співпадає з типом відповідного формального параметра в описі функції. Під час виклику функції у формальні параметри підставляються значення аргументів у тому порядку, в якому вони задані при виклику функції. Кількість формальних параметрів функції та аргументів повинні співпадати (за винятком випадку коли формальні параметри мають значення за замовчуванням). Якщо у функції відсутні формальні параметри, то при виклику такої функції повинен також бути відсутнім і список аргументів (але пара дужок () при виклику залишається).

Якщо функція має тип результату відмінний від void, то її виклик має бути записаний як частина певного виразу або оператора (найчастіше це є оператор присвоєння або оператор виведення). Так, наприклад, для описаної вище функції max правильними, як з синтаксичної, так і з семантичної точок зору, є такі можливі виклики:

z = max(x,y); або cout<<max(x+y, 25); або if (max(a,b)>0) c=a;

У той же час виклики цієї ж функції вигляду max(x,y); хоча і є допустимими синтаксично, семантично (тобто за смислом) позбавлені сенсу, оскільки результат, який функція повертає у точку виклику не обробляється тим чи іншим чином. Тим більше, не можна функції присвоювати значення: max(x,y)=20;

Якщо функція має результат типу void, то єдиним можливим способом звертання до неї є виклик у вигляді окремого оператора, наприклад (для описаної вище функції divide):

divide(x,y);

Для цієї ж функції неправильними будуть такі виклики:

cout<< divide(x,y); або z= divide(x,y);


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: