Berechnung mit ? : --> Warnung bei konstantem Ergebnis
-
Ich habe folgende Berechnung:
#define GetRequiredByteSizeForBitFlags(bitFlagsNumber) ((bitFlagsNumber) / 8 + ((bitFlagsNumber) % 8 == 0 ? 0 : 1))
Das Problem ist jetzt nur: Wenn ich diesem Makro einen konstanten Wert übergebe, dann beschwert sich der Compiler, dass die Abfrage am Ende (bitFlagsNumber % 8 == 0) konstant ist.
Aber ich brauche das ganze als Makro, gerade damit ich ja damit Werte generieren kann, die zur Compilezeit bekannt sind.Wie kann ich diese Berechnung also umstellen, so dass keine Warnung mehr kommt, auch wenn ich einen konstanten Wert übergebe?
-
Das ist eine der Warnungen, die man getrost deaktivieren kann.
VG
-
#define GetRequiredByteSizeForBitFlags(bitFlagsNumber) (((bitFlagsNumber) + 7) / 8)
ungetestet.
-
Danke. Scheint zu funktionieren.