我有2个这样的课程
template <class T>
class CData
{
std::vector<T> data;
public:
void SetData(std::vector<T> vt){data.assign(vt.begin(),vt.end());}
};
template <class... T>
class CDataHolder
{
std::tuple<Data<T>...> m_data;
//... m_data construction
public:
template<class T>
void init_data(std::vector<T> d)
{
init_data_helper(d,std::make_index_sequence<sizeof...(T)>{});
}
private:
template<std::size_t... index>
void init_data_helper(std::vector<T> d, std::index_sequence<index...>)//ERROR HERE
{
(std::get<index>(m_data)).SetData(d);
}
};
我想在SetData
对象构造之后从CData
类方法调用CDataHolder
类的m_data
方法。我得到的错误是parameter pack must be expanded in this context
。