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), но для нескольких аргументов одного и того же типа указателя.

Ответы на вопрос(3)

Ваш ответ на вопрос