【发布时间】:2020-04-07 20:12:25
【问题描述】:
我有一个使用此模板声明的类:template <typename ...Args>。在其中,我有一个声明为std::vector<std::tuple<Args...>> vec; 的列表,用于存储模板指定的数据条目。我还有一个函数声明如下:
void AddVertex(Args... data)
{
// vec.push_back(std::tuple<Args...>(data));
}
在这个函数中,我想在向量中添加一个 Args... 元组。这可能吗?我曾尝试使用注释中的代码,但编译器给我一个错误提示“必须在此上下文中扩展参数包”。
This 解决方案不起作用,因为元组的模板参数已经展开。
【问题讨论】:
-
在你的函数中包含真正的向量。显然它不是某处的成员变量。一个 minimal reproducible example 除了推送之外的一切都会做得很好。
标签: c++ templates visual-c++ variadic-templates variadic-functions