Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Variable ist möglicherweise nicht initialisiert worden

  Alt 5. Feb 2019, 09:54
Naja das ist halt ein sehr sehr spezieller Fall, den man in der Realität selten hat.

Bei Schleifen gibt es oft keine Garantie, dass diese durchlaufen werden, weil die Liste oder das Array was man durchläuft leer sein kann.
Und ein case muss zusätzlich nicht alle Fälle abdecken. Von daher ist eine Variable die nur innerhalb eines case in einer Schleife initialisiert wird und vorher/nachher nicht mehr allgemein eine mögliche Fehlerquelle.
Der Compiler ist in deinem speziellen Fall nicht so schlau, genau zu erkennen, dass du eine statische Schleife hast mit einem case, dass alle möglichen Fälle abdeckt.
Bzw. er ist wahrscheinlich mit Absicht nicht so schlau, weil solche Fälle in "freier Wildbahn" so selten vorkommen, dass es einfacher ist nur grob drüber zu gucken, als jedes Konstrukt bis ins tiefste zu analysieren für die 0,1% der Fälle wo kein Problem auftreten kann.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat