GNU-Compiler: Implicit declaration
-
Hallo Leute,
in meine Prüfungsaufgabe muss das Programm Fehler- und Warnungsfrei mit dem GNU-Compiler laufen.
In Visual Studio läuft das Programm 1a.
Allerdings wenn ich es in dem GNU-Compiler ausführe erhalte ich folgende Warnung:
sudoku.c: In function `main': sudoku.c:33: warning: implicit declaration of function `soduku_einlesen'
Ich habe allerdings die Funktion ordnungsgemäßg deklariert inkl. Prototype.
Code:
Prototype:
int sudoku_einlesen(char *, struct Sudoku *);
Main-Funktion (hier meckert er!)
int result; result = soduku_einlesen(argv[1], &sudoku); if(result < 0) return -1;
Eigentliche Funktion:
FILE *fp, *fp_error; int i, j; char temp[G+3] = {0}; if((fp_error = fopen("sudoku_geloest.txt", "w")) == NULL) { printf("Datei sudoku_geloest.txt konnte zum Schreiben nicht erstellt werde!\n"); fprintf(fp_error, "Eingabefehler"); fclose(fp_error); return -1; } if((fp = fopen(dateiname, "r")) == NULL) { printf("Datei %s nicht gefunden!\n", dateiname); fprintf(fp_error, "Eingabefehler"); fclose(fp_error); return -1; } for(i = 0; i < G; i++) { if(fgets(temp, G + 3, fp) == NULL) { printf("Daten nicht vollstaendig!\n"); fclose(fp); fprintf(fp_error, "Eingabefehler"); fclose(fp_error); return -1; } for(j = 0; j < G; j++) { if(temp[j] == ' ' || (temp[j] >= '1' && temp[j] <= '9')) s->spielfeld[i][j] = (temp[j] == ' ') ? 0 : temp[j] - '0'; else { printf("Falsche Daten!\n"); fclose(fp); fprintf(fp_error, "Eingabefehler"); fclose(fp_error); return -1; } } } fclose(fp); fclose(fp_error); return 0;
Habt ihr eine Idee woran es liegt? Ich weiß es echt nicht ...
Gruß
Hibbert
-
Ich glaube, ich hab vergessen einen Kommandozeilenparameter zu übergeben.
Nur wie mache ich das im GNU-Compiler?
Edit:
Es liegt nicht daran.
Hat jemand ne Idee?
-
LOL
So einen Fehler kann man ja fast nicht bemerken...
Prototyp:
sudoku_einlesen
Funktion:
soduku_einlesenIch würde dir die Tastenkombination Ctrl + C und Ctrl + V empfehlen um das Problem beim nächsten Mal zu vermeiden.
-
Danke habs echt net gemerkt ...