template<bool> struct CompileTimeError; template<> struct CompileTimeError<true>{}; #define STATIC_ASSERT(expr) \ CompileTimeError<(expr)>()