将可变参数从一个函数传递到另一个函数
Passing variadic parameters from one function to another
我正在调用函数 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++ 语法是什么?
编辑 1:我不能使用模板,因为我希望这些函数是纯虚函数声明的定义。
那是可变参数,不是参数包。在 C++ 中你会写:
template <class... Args>
void firstFunction(const char* fmt, Args&&... a) {
secondFunction(fmt, std::forward<Args>(a)...);
}
我正在调用函数 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++ 语法是什么?
编辑 1:我不能使用模板,因为我希望这些函数是纯虚函数声明的定义。
那是可变参数,不是参数包。在 C++ 中你会写:
template <class... Args>
void firstFunction(const char* fmt, Args&&... a) {
secondFunction(fmt, std::forward<Args>(a)...);
}