【发布时间】:2021-10-31 10:19:07
【问题描述】:
我有一个带有参数包的模板函数。我想将其扩展为对第二个函数的调用同时还提供包中项目的索引。我可能可以弄清楚如何使用递归,但我想尝试使用折叠表达式。
这是我希望参数包扩展成的功能
template<typename T>
void addToRecord(Record& rec, int idx, T&& val)
{
// Do some stuff.
}
这是带参数包的函数
template<typename... ARGS>
void addRecord(ARGS&& ...values)
{
Record rec;
// addToRecord(rec, ??????) How do expand 'values' here addToRecord with index of each item?
}
这可能吗?我意识到这并不重要,但我也在尝试更好地使用折叠表达式。
【问题讨论】:
标签: c++ c++17 fold-expression parameter-pack