条件在多模板类中的模板上

时间:2013-01-28 15:10:30

标签: c++ templates std

初学者问题:

如何在多模板类中的模板上添加条件:

我试过了:

template <class T, class U>
typename std::enable_if<...>
class foo
{
};

而且:

template <class T,
          class U = std::enable_if<...>>
class foo
{
};

但他们没有工作。任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:2)

声明一个默认为void的其他模板参数,并将其专门化为enable_if

template <typename T, typename U, typename Enable = void>
class foo {};

template <typename T, typename U>
class foo<T, U, typename std::enable_if<...>::type>
{
};