Есть ли способ заставить gcc проверять номер аргумента в функции на основе ее параметров, аналогично тому, что он делает, давая вам "слишком много аргументов для формата" при использовании printf?
Например, можем ли мы использовать метод, использующий stdarg, с некоторым обязательным аргументом, который бы сообщал информацию о требуемом в настоящее время номере аргумента и gcc сообщал нам, когда он неправильный:
calculate_mean(4, //Number of arguments
3, 2, 1, 10); //actual parameters
calculate_mean(5, //Custom warning from gcc because
1, 5, 10, 2); //there is one missing argument
Даёт:
# gcc -c file.c -o file.o
gcc: Warning: calculate_mean: Too few arguments (5 required, 4 given)
Может ли это быть сделано внутри кода, из файла конфигурации, или это жестко закодировано внутри компилятора и вообще невозможно?