Programm\display.c(1022): warning: #111-D: statement is unreachable
ich versteh aber nicht wieso? das return scheint hier ungeachtet des else blocks in dem es sich befindet die funktion zu verlassen. also immer! egal ob die bedingung true oder false ist. an dem auskommentierten block liegts übrigens nicht;) schon gecheckt
Es ist ja kein Fehler, sondern nur eine Warnung, also kompilierbar.
Die Warnung sagt nur aus, dass falls der else block eintritt, nachfolgende Werte sinnlos sind (Annahme "worst-case").
wäre ne möglichkeit, aber so ganz glaub ich da noch nicht dran. Hab noch nie für so nen konstrukt ne warnung gesehen. sch*** compiler... na ja, werds dann morgen mal an der hardware testen. bleibt mir wohl nix anderes übrig als zu hoffen.
Also ich hatte den Fall schon öfters und es ist wirklich so, dass der Compiler vom schlimmsten Fall ausgeht und deswegen die Warnung ausgibt. Sind bei dir Warnungen als Fehler eingestellt, so schalt es bei den Compiler-Optionen aus. Ebenso kannst du dort ein geringeres Warning-Level einstellen, damit weniger dumme Warnungen auftauchen.
Ich glaube hier wäre auch mal der Code vor dem if interessant. Vielleicht kann element ja nur 0 sein?! Die Warnung würde ich schon so verstehen, dass der Code nach dem if _nie_ aufgerufen wird und das könnte wirklich auf einen anderen Fehler im Code hinweisen. Wie gesagt wäre der restliche Code vor dem if eventuell ganz aufschlussreich.
Und Warnungen sollte man nicht einfach so ausschalten. Sie haben eigentlich immer einen Grund. In der Regel sollte man versuchen alle Warnungen zu beseitigen, bis auf wenige Ausnahmen, bei denen man sich sicher ist was man tut.
Ich würde auch mal auf den Code vorher schauen. Am Ende hat der Compiler nur was erkannt, was Du noch nicht bemerkt hast. Nämlich, dass die Variable in der if-Bedingung nie was anderes als 0 sein kann.