VS2015
#include<stdio.h>
#include<stdarg.h>
void test(UINT para, ...) {//变参函数的实现方式 调用方式:test(7, 1, 2, 3, 4, 5, 6, 7); 我用第一个参数表示剩余参数个数了
va_list vl;//声明一个指向各参数的指针
//typedef char* va_list;
va_start(vl, para);//初始化该指针
//#define va_start __crt_va_start
//#define __crt_va_start(ap, x) ((void)(__vcrt_va_start_verify_argument_type<decltype(x)>(), __crt_va_start_a(ap, x)))
UINT N = para;
while (N--) {
printf("%d\n", va_arg(vl, UINT));//指向下一个参数
//#define va_arg __crt_va_arg
//#define __crt_va_arg(ap, t) (*(t*)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)))
}
return;
}