014
28.01.2019, 12:06 Uhr
ao
(Operator)
|
Zitat von fastlife: |
hab versucht mein ,,ist_array_aufsteigend_sortiert" am Anfang zu definieren ,aber da kommen trotzdem viele Errors raus.
|
Machs so:
C++: |
using namespace std;
void gib_array_aus(int a[], int); bool ist_array_aufsteigend_sortiert(int arr[], int ANZ_ElEM);
int main() { /* ..... */
|
Das nennt sich "Prototyp", es macht den Funktionsnamen bekannt und gibt an, welche Parameter die Funktion annimmt (Anzahl und Typen der Parameter, optional auch die Namen) und was sie zurückgibt. Du hast dabei folgende Fehler gemacht: 1. Der Rückgabetyp im Prototyp muss natürlich mit dem übereinstimmen, den die Funktion tatsächlich hat (hier bool). 2. Du hast nicht die Typen der Parameter genannt, sondern nur die Namen (arr und ANZ_ELEM). Die richtige Minimallösung wäre gewesen (int[], int), damit hätte der Compiler die Datentypen gekannt und wäre zufrieden gewesen. (int arr[], int ANZ_ELEM) ist aber genauso korrekt und für menschliche Leser sogar hilfreicher, weil auch die Bedeutung der Parameter genannt wird - das hilft, die Aufgabe der Funktion zu verstehen.
In der Praxis kannst du einfach die Kopfzeile der Funktion von unten kopieren und oben einfügen, dann noch ein Semikolon anhängen und fertig.
Zitat: |
da kommen trotzdem viele Errors raus.
|
Mach dir bitte in Zukunft die Mühe, die Fehlermeldungen hier zu nennen, das erspart es uns, den Code jedesmal durch den Compiler zu schicken. Wenn es sehr viele Fehler sind, dann nur die ersten paar, es sind dann wahrscheinlich viele Folgefehler dabei.
Zitat: |
Interessant zu hören, schade das die Universitäten nicht auf den neusten Stand sind :/ .
|
Ja. Leider ist es die Regel, dass Studenten, die hier mit Übungsaufgaben aufschlagen, mit immer denselben ollen Kamellen kommen. Blätter hier mal zurück, dann siehst du es. Das ist original derselbe Krempel, mit dem wir schon gequält wurden (und ich bin seit 1994 mit der Uni fertig).
Das wäre im Prinzip nicht schlimm, wenn das gelehrte Wissen immer noch aktuell und richtig wäre, aber das ist hier definitiv nicht der Fall! Die Sprache C++ ist weiterentwickelt und erheblich (!!!) verbessert worden. Bjarne Stroustrup hat über C++11 gesagt "it feels like new language", und damit hatte er recht. Nur die Hochschullehrer nehmen das offenbar nicht zur Kenntnis und lehren immer noch so, wie es ihnen selbst beigebracht worden ist. Dieser Post wurde am 28.01.2019 um 12:29 Uhr von ao editiert. |