009
28.01.2019, 09:41 Uhr
ao
(Operator)
|
Zitat von fastlife: |
C++: |
is ist_array_aufsteigend_sortiert =(arr, ANZ_ElEM);
|
Wenn ich den Compiler so definiere, bekomme ich auch ein Error raus genau so wie bei der Bool Funktion.
|
Weil es in der falschen Reihenfolge steht, das ist durcheinander und syntaktischer Unsinn. Richtig ist es so:
C++: |
bool is = ist_array_aufsteigend_sortiert (arr, ANZ_ElEM);
|
Das gibt dann immer noch einen Fehler, weil der Compiler an der Stelle nicht weiß, was "ist_array_aufsteigend_sortiert" sein soll - es wird erst weiter unten definiert. Du musst die Funktion vorher bekannt machen, so wie du es mit "gib_array_aus" gemacht hast.
Und als letztes solltest du dich noch um die Warnung "Nicht alle Codepfade geben einen Wert zurück" kümmern. Das ist zwar "nur" eine Warnung, aber eine, die dir Ärger macht, wenn du sie ignorierst.
Was den Code-Stil angeht: Der ist spätestens seit dem Standard C++11 (verabschiedet 2011, daher der Name) völlig veraltet, wird aber an Universitäten beharrlich weiter gelehrt. Vermutlich aus dem katholischsten aller Gründe: "das hamwer immer so gemacht".
Eigentlich ist das gar kein C++, sondern bestenfalls "C mit Klassen". Und es tut so langsam fast körperlich weh, mit anzusehen, wie sich Jahr für Jahr die Studenten mit denselben unnötigen Problemen herumschlagen müssen, obwohl die Lösungen dafür auf der Hand liegen - ihre Lehrer müssten sich nur mal ein paar Tage lang selber weiterbilden.
Aber damit würden sie ja zugeben, dass ihre Lehre bislang suboptimal war (gelinde gesagt), und vielleicht gibts ein Unfehlbarkeitsdogma ja nicht nur in der katholischen Kirche. |