Symbian中的变参函数


Symbian中同样可以写变参函数。
   
void VariableFunctionL( TInt aParam, ... )
{
   TInt param1 = aParam;
   VA_LIST list;
   VA_START(list, aParam);
   TBufC<256> param2 = VA_ARG( list, TDesC );
   TInt param3 = VA_ARG( list, TInt );
   VA_END(list);
}
调用  VariableFunctionL( 1, _L("abcde"), 2 );
结果,param1 = 1, param2 = abcde, param3 = 2
VA_LIST,VA_START,VA_ARG和VA_END是Symbian定义的宏。
VA_START第一个参数是VA_LIST变量,实际上是一个游标,指向Arguement list首地址,第二个参数接受Argument list中的第一个值。执行后游标偏移到Argument list中下一个元素。
VA_ARG获取每个参数的值,第二个参数为参数类型,用于计算offset,执行后指针根据偏移指向Argument list中下一个元素。
对Argument list处理结束后,VA_END将游标置0,防止野指针。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值