Dan*_*uli 3 c++ templates variadic-templates
我想要一个可以接受任意数量的in和out参数的函数:
template<typename... Inputs, typename... Outputs>
void foo(Inputs... inputs, Outputs*... outputs)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
示例调用:
uint32 o1 = 0;
double o2 = 0.0;
bool o3 = false;
foo(1, 2, &o1, &o2, &o3);
Run Code Online (Sandbox Code Playgroud)
但是,这不会编译,因为编译器会尝试将所有参数匹配到第二个参数包中。我希望它可以*用作指示将两个包装分开的地方。
任何提示如何解决?
auto foo = []( auto... Inputs ){
return [=](auto*... Outputs){
return 7;
};
};
Run Code Online (Sandbox Code Playgroud)
现在,foo(3,4,5)(&a,&b,&c)您要做什么。