Неопределенная природа varargs в C создает проблему, которую я должен выяснить каким-то образом, чтобы указать, сколько аргументов и какого типа. В настоящее время я использую буквенный код, как это:
my_vararg_function( "bddefd", argb, argd1, argd2, arge, argf, argd3 );
Получающая функция должна затем проанализировать буквенный код, чтобы выяснить, какие аргументы ожидать.
Предполагая, что для входов нет очевидного семантического шаблона, это лучшее, что я могу сделать для реализации функции vararg. Меня беспокоит то, что если вызывающая сторона «лжет» о типе аргумента, мне может быть трудно отладить такие проблемы, как плохие указатели и утечки памяти.