【发布时间】:2017-11-06 23:43:40
【问题描述】:
我不确定我真正想要做什么,所以如果标题不合适,请原谅。
我有一个带有模板参数包的类模板。我希望构造函数根据参数包中的类型来期望类型,更具体地说,我想将每个参数包元素传递给另一个类模板(采用一个参数)来构造构造函数参数。
这就是我开始的结构:
template<class ElementType>
struct ElementPreset{
//... stores a preset for an element of ElementType
};
template<class... Elements>
class WidgetPreset{
WidgetPreset(ElementPreset<Elements...> pPresets)
:presets(pPresets){}
std::tuple<ElementPreset<Elements...>> presets;
}
上面的代码不起作用,但我想做的是从Elements 创建一个新的参数包,其中每个元素都是ElementPreset<Element> 而不是Element。
C++ 中是否对此有任何语言支持?
【问题讨论】:
标签: c++ c++11 templates parameters variadic-templates