Список объявлений аргументов
Часть объявления функции, содержащая список объявлений аргументов:
Позволяет компилятору проверять непротиворечивость типов между теми аргументами, которые требует функция, и теми, которые передаются в вызове.
Позволяет проводить преобразования (неявные или пользовательские) из переданного типа аргумента в тип, требуемый функцией.
Проверяет инициализации (присваивания) указателей на функции.
Проверяет инициализации (присваивания) ссылок на функции.
Если в списке содержится несколько объявлений аргументов, они разделяются запятыми.
Если функция может принимать переменное количество аргументов, то вместо переменных аргументов ставится многоточие. Многоточие (если оно используется) должно находиться в самом конце списка аргументов. Дополнительные сведения см. в разделе Списки с переменным количеством аргументов.
Каждое объявление аргумента содержит следующие компоненты:
Спецификаторы объявления, включая спецификатор типа. А именно:
Спецификатор класса хранения auto или register.
Спецификатор const и (или) volatile.
Спецификатор типа.
Декларатор, который может быть абстрактным. Абстрактные деклараторы задают анонимные аргументы; обычные деклараторы позволяют указывать их имена. А именно:
Необязательные операторы * или &, обозначающие указатель и ссылку соответственно.
Необязательный идентификатор, который задает имя аргумента.
ИЛИ
- Любой сложный декларатор, который задает любую форму указателя, ссылки, указателя на функцию и массива, что позволяет полностью определить тип.
Инициализатор, задающий значение аргумента по умолчанию. Конкретнее, инициализаторы аргументов состоят из:
Оператора =.
Выражения. На такие выражения накладывается несколько ограничений. См.
Обратите внимание, что многие ключевые слова для систем Microsoft могут использоваться как в спецификаторах объявления, так и в объявлении имени.