error: expected expression before ‘int’
:
Bearbeitet durch User
Hallo, man postet Code nicht als Bild. In dem switch case muss das int von loescheKnoten(int x) weg. Ob noch mit dem x etwas nicht stimmt ist nicht ersichtlich.
hmm komisch klappt so, aber warum 42 oder auch warum eine zahl jetzt
Funktionsdeklaration: loescheKnoten(int x){ ... } Funktionsaufruf: ... loescheKnoten(42); ...
Wado U. schrieb: > Ich sollte in einen Code eine Funktion hinzufügen, das hab ich auch > gemacht aber ich kann nun den Code nicht ausführen. Logisch, weil schon der Compiler streikt. > Ich habe deshalb oben im Code die Funktion hinzugefügt, dann später > unten in die main ein case 3 hinzugefügt für die Funktion(siehe Bild). Unsinn! Zeig und dein Originalquelltext im Anhang als Textdatei! Siehe Netiquette. > main.c: In function ‘main’: > main.c:201:13: error: too few arguments to function ‘loescheKnoten’ > loescheKnoten(); Dein Funktion hätte gern ein paar Argumente. > ^~~~~~~~~~~~~ > main.c:59:6: note: declared here > void loescheKnoten(int x){ Das ist die Deklaration, also die Beschreibung, wie die Argumente aussehen sollen (Datentyp). > ^~~~~~~~~~~~~ > > Deshalb habe ich es danach so versucht: > case 3: > loescheKnoten(int x); Unsinn. > break; > Und so bekomm ich jetzt diesen Fehler: > main.c: In function ‘main’: > main.c:201:27: error: expected expression before ‘int’ > loescheKnoten(int x); Logisch. Du solltest mal ein C-Buch lesen und den Unterschied zwischen der Deklaration einer Funktion (oben) und dem Aufruf einer Funktion erkennen. Versuchs mal mit loescheKnoten(42);
>hmm komisch klappt so, aber warum 42 oder auch warum eine zahl jetzt
Du hast doch selbst die Funktion so definiert? :D
>Oh Gott, drei Dumme, ein Gedanke!!! ;-) >42! Spooky! :D
jungeJungejunge schrieb: > Du hast doch selbst die Funktion so definiert? :D Er hat gar nix definiert, er kopiert und murkst nur wild in fremden Quelltexten rum.
>Er hat gar nix definiert, er kopiert und murkst nur wild in fremden >Quelltexten rum. Wir waren alle mal klein. Das wird schon.
Wie soll der Compiler klarkommen, wenn du der Funktion keine Variable, sondern eine Variablendeklaration übergibst?
Falk B. schrieb: > Oh Gott, drei Dumme, ein Gedanke!!! Kein Wunder! Bei dem Thema gibts keine 2 Meinungen. Also müssen alle das gleiche sagen.
jungeJungejunge schrieb: >>hmm komisch klappt so, aber warum 42 oder auch warum eine zahl > jetzt > > Du hast doch selbst die Funktion so definiert? :D warum 42 ? Also was hat diese 42 jetzt zu bedeuten, was passiert wenn ich 50 eingebe?
Wado U. schrieb: > warum 42 Weil 42 eine Zahl ist. Besser ist aber 2042, weil mehr ist immer besser.
Wado U. schrieb: > warum 42 ? Also was hat diese 42 jetzt zu bedeuten, ok, ich mach mal den Witze-Erklärer: dieser Hinweis führt dich in die Irre: https://de.wikipedia.org/wiki/42 hier gäbe es eine größere Auswahl, warum 42: https://de.wikipedia.org/wiki/42_(Begriffskl%C3%A4rung) das ist schließlich die richtige Antwort auf deine Frage: https://de.wikipedia.org/wiki/42_(Antwort) Der zweite Satz dieses Artikels beschreibt die Situation, in der sich die auf deine Frage antwortenden Foren-Teilnehmer befanden ... und bedeutet nix anderes, als dass die Antwort auf alle Fragen in Nerdistan halt 42 ist. Zufälligerweise ist es auch noch eine Integer-ZAhl, und das passt als Datentyp programmtechnisch genau zu deinem Funktionsaufruf Wado U. schrieb: > was passiert wenn ich 50 eingebe? Trau dich, mache es und finde es selber heraus. Manche Dinge im Leben (z.B. mal die andere Hand beim Wasser ablassen nehmen) muss man selber ausprobieren, um heraus zu finden was passiert!
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.