【发布时间】:2021-11-22 08:36:57
【问题描述】:
假设我有一些模板类:
template<class T>
class Foo{}
template<class T>
class Bar{}
现在,我想确保(在编译时)Bar 中使用的类型派生自Foo。我已经找到了this 答案,它显示了如何在运行时执行此操作,但我想在编译时检查,可能使用static_assert 或其他东西。
有没有办法做到这一点?
【问题讨论】:
-
你可以使用一些type-traits。
-
@Someprogrammerdude 是的,我调查了一下。 is_base_of 可能有用,但我只知道当 Foo 是普通类而不是模板类时如何使用它。
标签: c++ templates static-assert