Gast
#2772336
Wieso bekomme ich die Warnung warning: control reaches end of non-void function Hier der Code:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
Bitte um Hilfe
|
Anzeige
|
control reaches end of non-void function
Gast
#2772336
Wieso bekomme ich die Warnung warning: control reaches end of non-void function Hier der Code:
Bitte um Hilfe
Gast
#2772341
Hallo, weil der Programmablauf das Ende einer non-void Funktion erreichen kann vielleicht? Der Compiler hat kein eigenes Gehirn, deswegen hofft er einfach, dass Du dir was dabei gedacht hast hinter das else noch ein if zu schreiben, anstatt es einfach bei else zu belassen, d.h., dass es die Möglichkeit gibt, für die Bedingung zu scheitern. In dem Fall gäbe es keinen Rückgabewert für die Funktion. Einfach das if hinter dem else weglassen. Vlg Timm
Gast
#2772345
Hallo Timm, vielen dank, das war es. vlG guelu Da es sich um eine Pin-Abfrage handelt, existiert die Möglichkeit, daß die zweite Bedingung scheitern könnte, übrigens nicht nur theoretisch, sondern auch praktisch, denn der Pin könnte seinen Zustand ja zwischen den zwei Tests geändert haben. Was mich aber erstaunt ist, daß der Compiler so ein Konstrukt selbst bei normalen Variablen (nicht volatile) anmeckert, obwohl er da den zweiten Test einfach wegoptimieren dürfte. Mag aber sein, daß die Warnung erzeugt wird, bevor der Optimierer zum Zuge kommt. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|