Ich würde vermuten, dass in dieser Implementierung max()
nicht constexpr
ist (wie C ++ 11 sagt, sollte es sein), so dass maxHz
kein konstanter Ausdruck ist, während minHz
und invalidHz
sind.
Die erste Assert-Anweisung schlägt daher fehl, da sie zur Kompilierzeit nicht ausgewertet werden kann. der zweite ist erfolgreich, weil der Vergleich vor ||
wahr ist, also wird der zweite Vergleich nicht ausgewertet.
Tags und Links c++ c++11 visual-studio-2013 static-assert