Кто-то еще дал вам код. Я оставляю этот ответ, потому что он объясняет, как работает код.
тности, скажем, у меня есть шаблон класса с параметрамиA
а такжеB
, и я хотел бы иметь ошибку компилятора (когда создается экземпляр шаблона), если B не является производным от A.
template<class A, class B>
class Foo
{
// static_assert(B is derived from A)
};