如何在编译时检查类是否是抽象的?

时间:2014-01-26 20:52:46

标签: c++ abstract-class compile-time static-assert

抽象类我指的是至少有一个纯虚方法的类。如果检查显示该类是不是抽象,我希望编译失败。

甚至可能吗?

1 个答案:

答案 0 :(得分:9)

使用std::is_abstract

#include <type_traits>

static_assert(std::is_abstract<T>(), "T ought to be abstract.");

in action