«...» последний аргумент статической функции переменного тока - PullRequest
3 голосов
/ 29 июня 2011

Что означает аргумент ... в объявлении static void info(const char *fmt,...)?

Это часть библиотеки C, которую я недавно начал использовать.Извините, если это простой C материал, но я никогда не видел этого раньше, и Google не настолько многословен в отношении ...!

Ответы [ 4 ]

3 голосов
/ 29 июня 2011

Это означает переменные аргументы, что означает, что компилятор будет принимать и компилировать вызовы с любыми аргументами.Обычно их типы указываются значениями в предыдущих аргументах.

2 голосов
/ 29 июня 2011

Это переменный аргумент ( функция Variadic ).Это как printf.

 int printf(const char *format, ...)

Для получения дополнительной информации, отметьте это .

2 голосов
/ 29 июня 2011

Требуется переменное количество аргументов в вашем методе. Я обнаружил, что эта статья объясняет детали. Она очень усложняется очень быстро, как вы можете видеть.

1 голос
/ 29 июня 2011

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

Затем к этим аргументам можно обратиться, используя набор va_* функций из stdarg.h.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...