Gunnar Bittersmann: Bug?

Beitrag lesen

Nein, denn hier subtrahierst Du ja von einer Variable eine Zahl, Du verknüpfst sie (»i« und »1«) also mit einem Operator (»-«). Dagegen ist bei »Step -1« die Zahl selbst »-1«, beim anderen Fall ist sie normal »1«.

Dim i As Byte
i = 3
i = i + (-1)

Sollte mich das nun überraschen, dass das keinen Fehler liefert?
Bei dieser Addition wird offenbar nicht versucht, die -1 in den Typ Byte umzuwandeln.

Aber ist diese Addition nicht genau das, was nach jedem Schleifendurchlauf mit der Zählervariablen i (bei Step -1) passiert?

Aber wahrscheinlich werden Schleifen etwas anders gehandhabt und die Schrittweite wirklich in den Typen der Zählervariablen konvertiert.

Muss man halt bei negativer Schrittweite enormen Speicherplatz verschwenden. ;-)

Danke Euch,
Gunnar