提取未确定数目的参数
在标准库的<cstdarg>中专门提供一组宏来访问它们.
例:
void error(int severity ...)
{
 va_list ap;
 //用va_start初始化ap,第二个参数是函数的最后一个有名的形式参数的名字
 va_start(ap,severity);
 for(;;){
  //宏va_arg是按顺序提取各个无名参数,第二个参数是假定的该无名参数的类型
  chap* p = va_arg(ap,char*);
  if(p==0)break;
  cerr<<p<<' ';
 }
 va_end(ap);//调用va_start后必须用va_end退出
 cerr<<'n';
 if(severity) exit(severity);
}
posted on 2006-01-14 21:31 张沈鹏 阅读(217) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理