Forum: Compiler & IDEs Funktion in If Anweisung


von Frank (Gast)


Lesenswert?

Hallo
Darf man innerhalb einer If Verzweigung keine Funktion aufrufen?
Wenn ich z.B. if (soll==100){ einstellen();} schreibe dan kriege ich
die Warnung von Notepad
main.c:69: warning: implicit declaration of function `einstellen'
Funktionieren tut der Code aber.Was amche ich falsch?
Danke und Gruss



AVR GCC Meg8

von Bri (Gast)


Lesenswert?

Du hast vergessen die include Datei, in der die Funktion einstellen()
definiert ist, einzubinden.

von Rolf Magnus (Gast)


Lesenswert?

> Darf man innerhalb einer If Verzweigung keine Funktion aufrufen?

Doch, natürlich darf man das.

> Wenn ich z.B. if (soll==100){ einstellen();} schreibe dan kriege
> ich die Warnung von Notepad

Die kommt wohl eher vom Compiler.

> main.c:69: warning: implicit declaration of function `einstellen'
> Funktionieren tut der Code aber.

>Was amche ich falsch?

Du hast vergessen, die Funktion vor dem Aufruf zu deklarieren. Die
Warnung wäre auch ohne das if gekommen.

von Frank (Gast)


Lesenswert?

Danke für die Antwort!
Muss ich die Funktion mit #include<einstellen> includieren???
Oder wie und wo muss man die Funktion deklaririeren?
Gruss
Frank

von Peter Dannegger (Gast)


Lesenswert?


von Patrick D. (oldbug) Benutzerseite


Lesenswert?

1
/* Prototyp: */
2
void einstellen(void);
3
4
/* Implementierung: */
5
void
6
einstellen(void)
7
{
8
    parameter = 4711;
9
}

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.