R.8.2.5 Функции

R.8.2.5 Функции

В описании T D, в котором D имеет вид

D1 ( список-описаний-параметров ) список-спецификаций-cv opt

описываемый идентификатор имеет тип "…список-спецификаций-cv функция с параметрами типа список-описаний-параметров возвращающая T".

список-описаний-параметров:

 список-описаний-парам opt opt

 список-описаний-парам , …

список-описаний-парам:

 описание-параметра

 список-описаний-парам , описание-параметра

описание-параметра:

 спецификации-описания описатель

 спецификации-описания описатель = выражение

 спецификации-описания абстрактный-описатель opt

 спецификации-описания абстрактный-описатель opt = выражение

Если список-описаний-параметров завершается эллипсисом (…), про число параметров известно только то, что оно больше или равно числа заданных параметров, если список параметров пуст, то функция параметров не имеет. Список параметров void эквивалентен пустому списку параметров. Не считая этого случая, void не может быть типом параметра (хотя типы, получаемые из void, такие как void*, допустимы).