Zitat von
Sharky:
Zitat von
Khabarakh:
.... wenn entweder ein Informationsverlust stattfinden könnte ....
Also wenn ein Inforamtionverlust stattfinden kann möchte ich
kein Typecast in meinem Code sehen.
Und wenn man einfach nur das unterste Byte eines Integers benötigt? Oder weiß, dass der Wert im Byte-Bereich liegt?
Der Compiler weiß ja nicht, ob es einen Informationsverlust geben wird oder er auch beabsichtigt ist. Deshalb warnt er vor diesem
könnte mit einem expliziten Cast.
@stoxx: Der Unterschied ist einfach, dass dich der Compiler vor den zwei o.g. Gründen warnen will, er will dich ja nicht sinnlos mit Schreibarbeit quälen
.
[add]Ein dritter Grund: Bytegleiche, aber sinnverändernde Casts wie Pointer -> Integer oder Double -> Int64.[/add]