代码之家  ›  专栏  ›  技术社区  ›  A. K.

如何检查模板参数是否为结构

  •  3
  • A. K.  · 技术社区  · 4 年前

    对于这样一个小例子,我只想接受 T 如果 是一个 struct/class

    template<typename T>
    struct {
     T t;
    };
    
    1 回复  |  直到 4 年前
        1
  •  10
  •   JeJo    4 年前

    你在找 std::is_class 特征来自 <type_traits>

    检查是否 T 是非联合类类型。提供成员 true ,如果 工会)。否则,值等于 false .


    例如,你可以 static_assert 对于模板类型 如下所示:

    template<typename T>
    struct 
    {
       static_assert(std::is_class<T>::value, " T must be class type!");
       T t;
    };