【发布时间】:2014-05-17 11:04:50
【问题描述】:
我有一个带有 3 个参数的模板类,我需要先绑定其中的 2 个,然后再将绑定的版本传递给我继承自的“父”template template class。
(我搜索过以前提出的问题,但没有一个尝试从父级继承。)
我怎样才能让它工作?
这是一个示例代码:
template <template<class> class W, class ...D>
struct Parent{};
template <class B, class T, class ...D>
struct Arg{};
template <class B, class ...D>
struct Bind{
template <class T>
using arg = Arg<B, T, D...>;
};
template <class B, class ...D>
struct DD : public Parent<Bind<B, D...>::t, D...> //compiler complains*
{ };
* template argument for template template parameter must be a class template or type alias template.
我尝试过使用typename关键字;并在Binder 中使用struct 继承而不是using directive,没有任何效果。
【问题讨论】:
标签: c++ templates inheritance arguments bind