Problem mit C Programm
-
Ich habe eine Funktion geschrieben will darauf zugreifen und dann kommt immer ne Fehlermeldung:
main.c:37: error: conflicting types for 'stellung'
main.c:12: error: previous implicit declaration of 'stellung' was here
make.exe: *** [main.o] Error 1Und dann wird die gescheifte Klammer ("{") Rot angezeigt
Hoffe jemand kann mir weiter helfen
-
Geile Meldung
Noch geiler wäre aber der dazugehörige Code gewesen...
-
warum wird bei solchen fragen nicht einfach die klappe gehalten bis der fragesteller mal von alleine auf die idee kommt, nach einer FAQ zu suchen?
nein, statt einfach nur auf die faq hinzuweisen, wird gleich draus rezitiert.
-
LoL ich habe in der FAQ nix gefunden
woran liegst den?
ich will eine ganz normale funktion aufrufen die wie folgt aussieht:void stellung() { /*Die Klammer wird makiert*/ FILE *DBB; DBB = fopen ("C:\\start.bat","wt"); if (DBB) { fprintf (DBB,"Start java.exe"); } fclose (DBB); }
Und da wird immer die Klammer Rot makiert und die Folgende Fehler Meldung:
main.c:37: error: conflicting types for 'stellung'
main.c:12: error: previous implicit declaration of 'stellung' was here
make.exe: *** [main.o] Error 1
Und so rufe ich die Funktion auf:stellung();
Also kann mir jetzt vll jemand sagen warum es nicht geht?
-
Du musst entweder einen Prototyp der Funktion erstellen, oder die Funktion über main definieren:
Variante A:#include <stdio.h> void stellung(); int main() { stellung(); return 0; } void stellung() { FILE *DBB; DBB = fopen ("C:\\start.bat","wt"); if (DBB) { fprintf (DBB,"Start java.exe"); } fclose (DBB); }
Variante B:
#include <stdio.h> void stellung() { FILE *DBB; DBB = fopen ("C:\\start.bat","wt"); if (DBB) { fprintf (DBB,"Start java.exe"); } fclose (DBB); } int main() { stellung(); return 0; }
MfG
GPC
-
THX GPC habe Variante B aus probiert und es hat geklappt.
Danke
-
Variante A ist im Übrigen die bessere von beiden...
-
Ich weiß habe die grade eben ma ausprobiert
nochma Thx