Синтаксис мови С++ передбачає такий формат опису функції:
[тип_результату] ім’я_функції(список_параметрів)
{
тіло функції
}
Поле тип_результату задає тип значення, що повертається функцією. Якщо воно відсутнє, вважається, що функція повертає значення типу int. У ролі типу результату функції може використовуватися ключове слово void, яке означає, що функція не повертає ніякого значення.
Поле ім’я_функції задає унікальний в межах програми ідентифікатор за допомогою якого можна звертатися (викликати) до функції. В мові С++ він трактується як особливий тип вказівника, який називається вказівником на функцію. Значенням цього вказівника є адреса точки входу в функцію. Зустрівши визначення функції, компілятор створює самостійну секцію коду програми, що на етапі компонування об'єднується з іншими функціями. Початкова адреса цієї секції і є значенням вказівника на функцію.
Поле список_параметрів представляє собою список так званих параметрів для позначення вхідних даних функції. Тому ці параметри часто називають формальними параметрами. З точки зору синтаксису мови С++ кожний формальний параметр описується аналогічно до звичайної змінної, тобто опис формального параметру включає задання типу даних та ідентифікатора. Якщо функція потребує декілька формальних параметрів, то вони задаються у списку послідовно, розділяючись комою, але кожний параметр у цьому списку описується за наведеним вище правилом (тобто для кожного параметру треба вказати свій тип, навіть якщо всі вони мають одинаковий тип). У випадку, коли функція не має параметрів, список формальних параметрів або задається ключовим словом void, або є порожнім (але круглі дужки у цьому випадку залишаються).
Сукупність різних оголошень та операторів, які знаходяться між парою фігурних дужок в описі функції утворюють тіло функції.
Приклад: опис функції знаходження найбільшого серед двох заданих значень
int max(int a, int b)
{
if(a>b)
return a;
else
return b;
}
Тут, у ролі тип_результату виступає цілий тип int, max – є іменем функції, а список_параметрів має вигляд int a, int b, і він означає, що наша функція має два формальних параметри типу int. Оператор if утворює тіло функції.