Folgende Warnungen nach compilieren?
-
(A)
code:return m_bEndStateFlags & (1<<iBit);warnung: warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
(B)
code:
ASSERT(0 <= iBit <=7);warnung: warning C4804: '<=' : unsafe use of type 'bool' in operation
-
@A: Was ist denn der Rückgabetyp der zugehörigen Funktion? Wenn das ein bool ist, kannst du die Warnung entweder ignorieren oder mit 'return (m_bEndStateFlags & (1<<iBit))!=0;' entschärfen.
@B: Du kannst Vergleiche nicht zusammenfassen zu Bereichsüberprüfungen (du vergleichst iBit mit 0 und das Ergebnis dieses Vergleichs (true oder false) mit 7) - korrekt muß das 'ASSERT(0<=iBit && iBit<=7);' lauten.