Static assert
А какой у вас используется assert времени компиляции, если не использовать boost/static_assert.hpp?
У меня вот такой:
template <bool> struct STATIC_ASSERTION_FAILURE;
template <> struct STATIC_ASSERTION_FAILURE<true> {};
#define STATIC_CHECK(x) sizeof(STATIC_ASSERTION_FAILURE< (bool)(x) >)
Работает приемлемо сносно:
int main() {
STATIC_CHECK(sizeof(int) < sizeof(char));
return 0;
}
Оригинальный пост | Disclaimer