提取未確定數(shù)目的參數(shù)
在標(biāo)準(zhǔn)庫的<cstdarg>中專門提供一組宏來訪問它們.
例:
void error(int severity ...)
{
va_list ap;
//用va_start初始化ap,第二個參數(shù)是函數(shù)的最后一個有名的形式參數(shù)的名字
va_start(ap,severity);
for(;;){
//宏va_arg是按順序提取各個無名參數(shù),第二個參數(shù)是假定的該無名參數(shù)的類型
chap* p = va_arg(ap,char*);
if(p==0)break;
cerr<<p<<' ';
}
va_end(ap);//調(diào)用va_start后必須用va_end退出
cerr<<'n';
if(severity) exit(severity);
}