0

如何访问参数包中的每个参数?

我的主要可执行文件中有一个函数声明,但函数体在其他库中

template<class ... Types>
some_class* foo (Types ... args){
   //cast args to var1, var2, var3 somehow
   return new some_class(var1, var2, var3); //var1 - int, var2 string, var3 - vector<int>
}

我对每个库都有foo one 的多个实现,每次我都知道我期望什么类型的数据。问题是,当使用一个库时,我有例如 2 个参数 - int、float,而第二个库需要 int、string、vector。

问题是:如果我知道有多少个参数以及这些参数的类型是什么,如何访问这些数据?

我知道我可以通过许多不同的方式实现这个用例(我可能会将参数移动到每个类的 init 函数),但现在我只是好奇如何使这个工作。假设我无法更改some_class的初始化程序。

4

0 回答 0