Я хотел определить макрос, например -
#define log(lognumber,...) logreport(lognumber,__VA_ARGS__)
Я хотел проверить случай исключения для __VA_ARGS__
тех аргументов, которые пользователь может передать, когда этот пользователь вызывает log(). Пожалуйста, предоставьте мне случай исключения для __VA_ARGS__
.
[обновление из комментария:]
Я имею в виду, что я хотел написать logreport таким образом, чтобы он печатал конкретный номер ошибки, которую я уже определил.
Взяв пример, например, если я прохожу
log(NOTE,"%s",str)
то в этом случае он печатает определенные идентификаторы, которые я назначил в другом файле, подобном этому msgid %s, msdstr %s (10223)
, но пользователь использует
log(NOTE,"DIRECT STRING")
он принимает [???] для этой строки. Итак, как мне проверить, что если пользователь передает аргумент таким образом
log(NOTE,"%s",str)
or
log(NOTE,"direct string")
таким образом в функции logreport?
va_start
,va_arg
иva_end
для работы с переменными args. По крайней мере, это ответ на то, что, как я думаю, вы спрашиваете. Но ваш вопрос не очень ясен: случай исключения для__VA_ARGS__
- это не термин, который имеет смысл без объяснения того, что это значит. - person kaylum   schedule 14.05.2015format
атрибут, который можно указать в функцииlogreport
. - person M Oehm   schedule 14.05.2015