每个传递的参数都应该是一个整数.我将把这个整数添加到一个整数向量中,稍后将使用它.
我想确保一些小丑不会尝试将此函数传递给将来的整数.我认识到我可以检查来自va_arg的当前参数以确保它不是NULL并且我可以使用类似isanum(va_arg())来确定它是否是有效整数.我想我甚至可以检查sizeof(va_arg)并将其与sizeof(int)进行比较并确保它们相等.
是否有任何其他检查我可以运行以验证我已经传递了一个有效的整数?
在此先感谢您的帮助
至于你的具体想法:
> va_arg()是一个宏,它简单地将原始堆栈数据的一些字节数解释为您指定的任何类型.因此,在其上调用sizeof()只会告诉您所要求的数据类型的大小.>通常,没有形成无效整数的原始二进制数据模式.所以假设的isanum()不起作用.