Gunnar Bittersmann: Bug?

Beitrag lesen

Hi, warum geht die Schleife (*) rückwärts nicht?

Dim i As Byte
For i = 3 To 1 Step -1
Next

Es kommt die Fehlermeldung "Überlauf".
(Es geht mit Dim i As Integer)

Es geht das Hochzählen:

Dim i As Byte
For i = 1 To 3
Next

Es geht aber auch

Dim i As Byte
i = 3
i = i - 1
i = i - 1
i = i - 1

i darf halt nur nicht negativ werden (als Byte).
Wird's aber auch in der Schleife (*) nicht.

Also warum macht er das nicht? Ist es ein Bug im Compiler?
Gunnar