How to check, if the class is abstract, at compile time?
By an abstract class I mean the class with at least one pure virtual method. I want the compilation to fail, if the check shows that the class is not abstract. Is it even possible? Use std::is_abstract . #include <type_traits> static_assert(std::is_abstract<T>(), "T ought to be abstract."); See it in action . 来源: https://stackoverflow.com/questions/21369036/how-to-check-if-the-class-is-abstract-at-compile-time