将 C++ 模板参数限制为子类
如何强制模板参数 T
成为特定类 Baseclass
的子类?像这样:
How can I force a template parameter T
to be a subclass of a specific class Baseclass
?
Something like this:
template <class T : Baseclass> void function(){
T *object = new T();
}
推荐答案
在这种情况下你可以这样做:
In this case you can do:
template <class T> void function(){
Baseclass *object = new T();
}
如果 T 不是 Baseclass 的子类(或 T is Baseclass),这将不会编译.
This will not compile if T is not a subclass of Baseclass (or T is Baseclass).
相关文章