c ++传递数组而不是可变长度参数列表

sli*_*oad 4 c++ arrays variadic-functions

因此,我有一个采用可变长度参数列表的函数,例如:

int avg(int count,...){
    //stuff
}
Run Code Online (Sandbox Code Playgroud)

我可以打电话给它,avg(4,2,3,9,4);它工作正常。它需要维护此功能。

有没有办法让我也用数组调用它而不是列出变量?例如:

avg(4,myArray[5])这样该功能avg没有任何区别?

Som*_*ude 5

不,没有这样的方法。但是,您可以创建两个函数,一个带有可变数量的参数,一个带有数组(或者更好的是,一个std::vector)。第一个函数只是将参数打包到数组(或向量)中,然后调用第二个函数。