![](/img/trans.png)
[英]C++ Template specialization with class as return type and enum as parameter
[英]in C++, How to enforce template parameter to be of a scoped enum value type?
我有一个 class 模板,我想这样写:
template </*what to put here?*/ T>
Class Bar {};
我想强制 T 只是来自范围枚举的值。 我使用了此处提供的is_scoped_enum
类型检查,但是我能想到的最好办法是将Bar
更改为如下所示:
template <typename T>
concept ScopeEnum = is_scoped_enum<T>::value;
template<ScopeEnum SE, SE se>
class Bar {};
我如何实施它才能使Bar
保持原样?
使用泛型非类型参数,并约束其声明
template <ScopedEnum auto se>
class Bar {};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.