有没有办法直接将可变数量的参数从一个函数传递到另一个函数?
我想实现一个最小的解决方案,如下所示:
int func1(string param1, ...){
int status = STATUS_1;
func2(status, param1, ...);
}
我知道我可以使用如下所示的方法来完成此操作,但是此代码将被重复多次,因此我希望使其尽可能简单,同时保持函数调用非常短
int func1(string param1, ...){
int status = STATUS_1;
va_list args;
va_start(args, param1);
func2(status, param1, args);
va_end(args);
}
Thanks!
不,你必须使用va_list
按照你的第二个例子。
它只是 3 行额外代码,如果你想避免重复这些行,并且 func2 始终相同,或者至少采用相同的参数,请用它制作一个宏。
#define CALL_MY_VA_FUNC(func,param) do {\
va_list args; \
va_start(args,param);\
func(param,param,args);\
va_end(args); } while(0)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)