C语言

#include <stdarg.h>
void parseDumparg(E_Dump_Type eType, ...)
{
    va_list arg_ptr;
    va_start(arg_ptr, eType);
    switch(eType)
    {
        case E_DUMP_arg2:
        {
            int i = va_arg(arg_ptr, int);
            printf("%d, %d
", eType, i);
            break;
        }
        case E_DUMP_arg3:
        {
            int i = va_arg(arg_ptr, int);
            int j = va_arg(arg_ptr, int);
            printf("%d, %d, %d
", eType, i, j);
            break;
        }
        default:
            break;
    }
    va_end(arg_ptr);
    return;
}

typedef enum{
    E_DUMP_arg1,
    E_DUMP_arg2,
    E_DUMP_arg3
}E_Dump_Type;

    parseDumparg(E_DUMP_arg2,200);
    parseDumparg(E_DUMP_arg3,20, 450);
原文地址:https://www.cnblogs.com/McKean/p/6083655.html