Что такое синтаксический аргумент ... - PullRequest
0 голосов
/ 17 июня 2019

Что думает компилятор C / C ++ ...?Чтобы быть ясным, я не думаю, что это дублирующий вопрос, потому что другие stdarg вопросы касаются "что такое списки аргументов с переменным числом аргументов / как они работают?"Это не мой вопрос.

Я просмотрел файлы включения MSVC и нашел stdarg.h, vcruntime.h и т. Д., Но еще не удовлетворился.

Компилятор видит ... как оператор?Символ компоновщика?Макрос?Это не может быть идентификатор, потому что этот исходный символ (.) недопустим в идентификаторах.

Если бы мне пришлось угадывать, я бы сказал, что это что-то вроде использования макросов __attribute__ илиinline или register компилятор "намекает" на запрет предупреждений / ошибок при вызове функции с несколькими параметрами.

Из ISO9899:

6.5.2.2 Вызовы функций

Ограничения

6 Нотация многоточия в деклараторе прототипа функции приводит к остановке преобразования типа аргумента после последнего объявленного параметра.Повышение аргументов по умолчанию выполняется на конечных аргументах.

Я полагаю, что не все должно быть точно зафиксировано, но мне было любопытно, возможно, там было больше технической информации.

...