#include <tuple>
template<class initial_data, class alias_tuple>
struct get_data;
template<class initial_data, class...aliases>
struct get_data<initial_data, std::tuple<aliases...>> {
typedef std::tuple<typename initial_data::template rebind<aliases>::type...> type;
//this typedef emits C3546 ^^^^^^^
};
error C3546: '...' : there are no parameter packs available to expand
see reference to class template instantiation 'get_data<initial_data,std::tuple<_Types1...>>' being compiled
每当我尝试进一步简化这一过程时,错误似乎就会消失,但我还没有想出如何对我的真实代码进行同样的简化。海湾合作委员会对此进行了编制。
这是编译器中的错误,还是我忽略的语言有些怪癖?我有什么诀窍吗?