Typesafe Varargs в C с GCC
Много раз я хочу, чтобы функция получала переменное число аргументов, например NULL.
<code>#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); } </code>
Могу ли я дать команду gcc или clang предупредить, если foo получает неchar*
переменные? Что-то похожее__attribute__(format)
, но для нескольких аргументов одного и того же типа указателя.