Ich benutze C++ 11. Ich habe eine Gleitkommazahl.C++: Kompilierzeit den Wert einer Gleitkommazahl bestätigen
float some_float = 3.0;
Jetzt möchte ich Zeit Prüfung kompilieren, dass diese Zahl größer als ein Wert ist. Angenommen, ich möchte die Zeit kompilieren, um zu bestätigen, dass some_float
größer als 1.0
ist. Ich versuche dies:
static_assert(some_float > 1.0);
Aber es Fehler aus beschweren,
error: static_assert expression is not an integral constant expression
static_assert(some_float > 1.0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Frage:
, was falsch ist, dass ich tue?
Wie kann ich zur Kompilierungszeit bestätigen, dass some_float
auf etwas über 1.0
gesetzt ist?
'static_assert' nur auf der Kompilierung funktioniert, kann es nicht den Wert von' some_float überprüfen ', weil sie nicht wirklich existieren an diesem Punkt. – DimChtz