可变参数传递(C++)

前段时间写了个可变参数的函数func1(const char *fmt, ...),由于需要封装成方法func2(const char *fmt, ...)给他人使用,却始终找不到好的方法将func2的参数传递给func1。在网络上也没有找到切实可行的办法。无奈之下,只有做如下改变:

void fun2(const char *fmt, ...)
{
char buffer[256];

va_list args;
va_start(args, fmt);
vsprintf(buffer, fmt, args);
va_end(args);

fun1(buffer);

}

将func2的可变参数全部转变成一个字符串,再传递给func1使用。这个只是特殊情况,所以能使用。

但如果func1需要的不是字串,而是需要每个可变参数另做他用,比如求和,就不可行了。(所以传递方法需另行研究)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24494482/viewspace-672283/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24494482/viewspace-672283/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值