template<class... Cs>
void func(Cs... cs){
};
template<class T, class... Cs>
void func1(T s){
func<Cs...>(/* the problem */);
};
int main(){
char s[]="HI THERE!";
func1<char*,char,char,char>(s);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
因此 func1() 调用 func(),这两个函数由相同的模板参数包专门化,函数 func1() 采用已知参数“s”,我们假设它可以生成并提供从该参数值s到func() ,但我们怎样才能做到这一点。
这个问题对我来说很难解释,我希望你明白这一点。
编辑:可以说,遵循此模式func1()传递的参数实际上取决于参数包func()s[0],s[1],...