有没有办法测试std::is_base_of<A, B>何时A是模板类?
template <typename X, typename Y> class A {};
template <typename X> class B : public A<X, char> {};
Run Code Online (Sandbox Code Playgroud)
我想静态地测试类似的东西,std::is_base_of<A, B<int>>意思B是从任何专业化中衍生出来的A.(为了使它更通用,让我们说我们不知道B专门的方式A,即B <X>派生自A <X,char >)
解决的一种方法是从(非模板)类派生A C,然后检查std::is_base_of<C, B<int>>.但还有另一种方法吗?