提取未確定數(shù)目的參數(shù)
在標(biāo)準(zhǔn)庫(kù)的<cstdarg>中專門提供一組宏來(lái)訪問它們.
例:
void error(int severity ...)
{
va_list ap;
//用va_start初始化ap,第二個(gè)參數(shù)是函數(shù)的最后一個(gè)有名的形式參數(shù)的名字
va_start(ap,severity);
for(;;){
//宏va_arg是按順序提取各個(gè)無(wú)名參數(shù),第二個(gè)參數(shù)是假定的該無(wú)名參數(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);
}