Много раз я хочу, чтобы функция получала переменное количество аргументов, завершенных NULL, например
#define push(stack_t stack, ...) _push(__VARARG__, NULL);
func _push(stack_t stack, char *s, ...) {
va_list args;
va_start(args, s);
while (s = va_arg(args, char*)) push_single(stack, s);
}
Могу ли я инструктировать gcc или clang для предупреждения, если foo получает переменные non char*
? Что-то похожее на __attribute__(format)
, но для нескольких аргументов одного и того же типа указателя.