Zitat:
Zitat von AVT
Und auch wenn dazwischen 1000 Zeilen Code stehen, bevor FinalVal kommt, das Ding ist initialized...
|
Nicht ganz. Der Compiler sieht da die Deklaration deiner Variablen ohne einen Anfangswert zu definieren.
Sofern eine Variable keinen "echten" Wert zugewiesen bekommt, "erhält" sie einen undefinierten Standardwert.
Einen echten Wert erhält deine Variable aber nur beim Zutreffen einer Bedingung. Wäre da ein "if-else" anstatt "if-else if", so würde
deine Variable in jedem Fall einen echten Wert bekommen.
Also kurz:
Erhält eine Variable nur unter Bedingungen einen Wert, denkt der Compiler sich "die Bedingungen können auch NICHT zutreffen".
Eine weitere Nutzung einer solchen Variable lässt den Compiler dann warnen "diese Variable wurde vorher
möglicherweise nicht
mit einem Wert gefütter..."