C++ 11增加了许多新的类模板,它们允许静态地测试类型特征,即在编译时检测问题。我正在为一门课写作测试,我需要确保给定的方法是公开的。 “动态”解决方案是创建一个对象,并调用该方法,那么如果它不工作,编译器会抱怨。但可能会发生不同类型的错误,并且会导致产生的错误消息更加混乱。如果可能的话,最好使用静态断言来测试方法访问级别。 是否有可能还是我真的要创建一个对象? (也,我该怎么办,如果我需要的方
有没有办法在编译时打印constexpr或#define d值的值?我想的std::cout <<相当于或某种方式做这样的事情 constexpr int PI_INT = 4;
static_assert(PI_INT == 3,
const_str_join("PI_INT must be 3, not ", const_int_to_str(PI_INT)));
编辑:
所以,我想使用Boost库静态时检查我的模板正在使用的某些基类,例如: template <class T>
class A {
// Code here
}
所以,我想用BOOST_STATIC_ASSERT((boost::is_base_of<DesiredBaseClass, T>::value)),这对GCC很有用。但是,Eclipse对此非常恼火,并列出了错误(来自它