繁体   English   中英

有条件的 static_assert

[英]Conditional static_assert

有没有一种优雅的方式在 c++11 中执行条件static_assert

例如:

template <class T>
class MyClass
{
    COMPILE_TIME_IF( IsTypeBuiltin<T>::value)
       static_assert(std::is_floating_point<T>::value, "must be floating pt");
};

static_assert()简单布尔逻辑应该这样做:

static_assert(
  (!std::is_fundamental<T>::value)
  || std::is_floating_point<T>::value,
  "must be floating pt"
);

T要么不是基本的,要么是浮点数。 换句话说:如果T基本的,它也必须是浮点数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM