Проверка переменных аргументов ожидаемого типа

Сейчас я пишу функцию, которая будет принимать переменное количество аргументов. Я передаю количество аргументов в функцию, а затем перебираю список аргументов.

Каждый из переданных аргументов должен быть целым числом. Я добавлю это целое число к вектору целых чисел, который будет использоваться позже.

Я хотел бы убедиться, что какой-нибудь шутник не пытается передать этой функции что-то другое, кроме целого числа в будущем. Я понимаю, что могу проверить текущий аргумент из va_arg, чтобы убедиться, что он не равен NULL, и я могу использовать что-то вроде isanum (va_arg ()), чтобы определить, является ли это действительным целым числом. Полагаю, я мог бы даже проверить sizeof (va_arg) и сравнить его с sizeof (int) и убедиться, что они равны.

Существуют ли какие-либо другие проверки, которые я могу выполнить, чтобы убедиться, что мне было передано действительное целое число?

Заранее благодарим за помощь

6
задан BSchlinker 24 June 2011 в 18:04
поделиться