C++ 将可变参数从一个函数传递到另一个函数
我正在调用一个函数C++ 将可变参数从一个函数传递到另一个函数,c++,parameters,parameter-passing,variadic-functions,C++,Parameters,Parameter Passing,Variadic Functions,我正在调用一个函数firstFunction并将变量参数传递给它(const char*fmt,…):我想在这里执行一些计算,然后将参数传递给另一个函数secondFunction,该函数具有(const char*fmt,…)作为输入参数 void firstFunction(const char* fmt, ...) { //does some pre-condition stuff //calls secondFunction (how?) } void secondFunction
firstFunction
并将变量参数传递给它(const char*fmt,…)
:我想在这里执行一些计算,然后将参数传递给另一个函数secondFunction
,该函数具有(const char*fmt,…)
作为输入参数
void firstFunction(const char* fmt, ...)
{
//does some pre-condition stuff
//calls secondFunction (how?)
}
void secondFunction(const char* fmt, ...)
{
//prints the input parameters in a va_list using vsnprtinf
}
什么是把函数的变量传递给另一个函数的C++语法?< /P>
编辑1:我不能使用模板,因为我希望这些函数是纯虚函数声明的定义。这是可变参数,不是参数包。在C++中你会写:
template <class... Args>
void firstFunction(const char* fmt, Args&&... a) {
secondFunction(fmt, std::forward<Args>(a)...);
}
模板
void firstFunction(常量字符*fmt,参数&&…a){
第二功能(fmt,std::forward(a)…);
}
这是一个可变参数,而不是一个参数包。在C++中你会写:
template <class... Args>
void firstFunction(const char* fmt, Args&&... a) {
secondFunction(fmt, std::forward<Args>(a)...);
}
模板
void firstFunction(常量字符*fmt,参数&&…a){
第二功能(fmt,std::forward(a)…);
}
注意:参数包仅出现在可变模板中,这是C型变量。注意:参数包仅出现在可变模板中,这是C型变量。您是对的,问题已更正您是对的,问题已更正