"Lenguaje de programación C ++ (cuarta edición)" Capítulo 2.4.3
static_assert (A, S) A es una expresión constante. Cuando A no es verdadera, la compilación falla y S se mostrará como un mensaje de error del compilador.
#define debug qDebug()<<
constexpr int C = 299792458;
void debugValue(int value)
{
const int maxSpeed = 10000000000;
static_assert(maxSpeed < C,"You can't go faster than the speed of light");
debug "value = "<<value;
}
int main(int argc, char *argv[])
{
debugValue(2);
}