首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

va_start

Defined in header <cstdarg>

?

?

void va_start( va_list ap, parm_n );

?

?

va_start宏启用对命名参数后面的变量参数的访问。parm_n...

va_start应该使用实例调用到有效的va_list对象ap在接到任何电话之前va_arg...

如果parm_n类型声明为引用类型,或声明的类型与默认参数提升,该行为是未定义的。

参数

ap

-

an instance of the va_list type

parm_n

-

the named parameter preceding the first variable parameter

扩展值

%280%29

注记

va_start需要支持parm_n满载operator&...

二次

代码语言:javascript
复制
#include <iostream>
#include <cstdarg>
 
int add_nums(int count, ...) 
{
    int result = 0;
    va_list args;
    va_start(args, count);
    for (int i = 0; i < count; ++i) {
        result += va_arg(args, int);
    }
    va_end(args);
    return result;
}
 
int main() 
{
    std::cout << add_nums(4, 25, 25, 50, 50) << '\n';
}

二次

产出:

二次

代码语言:javascript
复制
150

二次

另见

va_arg

accesses the next variadic function argument (function macro)

va_end

ends traversal of the variadic function arguments (function macro)

c VA文件[医]启动

代码语言:txt
复制
 ? cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com