通过使用VA_LIST可以实现向函数传递不同数目的参数。
#include
#include
#include
using namespace std;
#pragma argsused
//函数A 传递若干个整形变量
void Funca(int n,...)
{
//定义获取变量的结构体
va_list va_ptr;
//开始从头部开始获取变量
va_start(va_ptr,n);
for(int iIndex = 0; iIndex
{
//定义获取变量的类型
int nArgValue = va_arg(va_ptr,int);
cout<
}
//结束获取变量
va_end(va_ptr);
}
//函数b 获取不定数目的字符串
void Funcb(int num,...)
{
va_list va_ptr;
va_start(va_ptr,num);
char *sValue;
for(int iIndex = 0; iIndex
{
sValue = va_arg(va_ptr,char*);
cout<
};
va_end(va_ptr);
}
int main(int argc, char* argv[])
{
char c;
Funca(3,1,2,3,4,5,6);
Funcb(2,"b","c","-1");
c = getchar();
return 0;
}
//---------------------------------------------------------------------------