[英]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.