码迷,mamicode.com
首页 > 其他好文 > 详细

std::enable_if的错误使用方法

时间:2019-08-11 20:17:45      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:some   using   span   ble   使用   活动   class   eth   pen   

/// Alias of std::enable_if...
template <bool B, typename T = void>
using Enable_if = typename std::enable_if<B, T>::type;

Template<typename T, std::size_t N>
class A {
   ...
    template <std::size_t NN = N,
          typename = Enable_if<NN == 2>>
    Some_Return_Type
    method(param1, param2)
    {}

    template <std::size_t NN = N,
              typename = Enable_if<NN == 1>>
    Some_Return_Type
    method(param1)
    {}


};


Template<typename T, std::size_t N>
class B {
   ...
    Enable_if<N == 2, Some_Return_Type>
    method(param1, param2)
    {}

    Enable_if<N == 1, Some_Return_Type>
    method(param1)
    {}
};

如果我有:

 

至少有2个方法的参数不同,并且它们具有相同的名称,但其中一个方法必须是“活动的”(如果n==1,如果n==2,另一个)。

只有一个方法在n==0时是活动的,在其他情况下是不活动的。

 

有没有人知道怎么解决呢

std::enable_if的错误使用方法

标签:some   using   span   ble   使用   活动   class   eth   pen   

原文地址:https://www.cnblogs.com/gamecenter/p/11336324.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!