Forum: Mikrocontroller und Digitale Elektronik error: expected expression before ‘int’


von Wado U. (racole)


Angehängte Dateien:

Lesenswert?

error: expected expression before ‘int’

: Bearbeitet durch User
von 3d gedruckte µChips (Gast)


Lesenswert?

loescheKnoten(42);

von Veit D. (devil-elec)


Lesenswert?

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.

von Wado U. (racole)


Lesenswert?

hmm komisch klappt so, aber warum 42 oder auch warum eine zahl jetzt

von zu Wenig Info (Gast)


Lesenswert?

Funktionsdeklaration:

loescheKnoten(int x){
...
}

Funktionsaufruf:


...

loescheKnoten(42);

...

von Falk B. (falk)


Lesenswert?

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);

von Falk B. (falk)


Lesenswert?

Oh Gott, drei Dumme, ein Gedanke!!! ;-)

42!

von jungeJungejunge (Gast)


Lesenswert?

>hmm komisch klappt so, aber warum 42 oder auch warum eine zahl jetzt

Du hast doch selbst die Funktion so definiert? :D

von jungeJungejunge (Gast)


Lesenswert?

>Oh Gott, drei Dumme, ein Gedanke!!! ;-)

>42!

Spooky! :D

von Falk B. (falk)


Lesenswert?

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.

von jungeJungejunge (Gast)


Lesenswert?

>Er hat gar nix definiert, er kopiert und murkst nur wild in fremden
>Quelltexten rum.

Wir waren alle mal klein. Das wird schon.

von AtariST (Gast)


Lesenswert?

Wie soll der Compiler klarkommen, wenn du der Funktion keine Variable, 
sondern eine Variablendeklaration übergibst?

von Einer K. (Gast)


Lesenswert?

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.

von Wado U. (racole)


Lesenswert?

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?

von Stefan F. (Gast)


Lesenswert?

Wado U. schrieb:
> warum 42

Weil 42 eine Zahl ist. Besser ist aber 2042, weil mehr ist immer besser.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

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
Noch kein Account? Hier anmelden.