ISO C++ forbids declaration of 'leerzeile' with no type
-
Hi Leute,
ich bin gerade am C lernen und habe ein Programm wie in meinem Buch genau nachgeschrieben. Bei Compilieren hat mir der DevC++-Compiler einen Fehler angezeigt: ISO C++ forbids declaration of 'leerzeile' with no type (Warscheinlich hab ich nur wieder was übersehen).
Der Code ist:#include <stdio.h>
leerzeile()
{
int x;
for(x=1; x<=25; x=x+1)
{
printf("\n");
}
}main()
{
int x,y,z;
leerzeile();
printf("\n Bitte |x| eingeben > ");
scanf("%i",&x);
leerzeile();
printf("\n Bitte |y| eingeben > ");
scanf("%i",&y);
leerzeile();
printf("\n Bitte |z| eingeben > ");
scanf("%i",&z);
leerzeile();
printf("\n %i + %i + %i = %i",x,y,z,x+y+z);
}Danke im Voraus für alle Antworten.
-
#include <stdio.h> leerzeile() // Rückgabetyp fehlt { int x; for(x=1; x<=25; x=x+1) { printf("\n"); } } main() // Rückgabetyp fehlt { int x,y,z; leerzeile(); printf("\n Bitte |x| eingeben > "); scanf("%i",&x); leerzeile(); printf("\n Bitte |y| eingeben > "); scanf("%i",&y); leerzeile(); printf("\n Bitte |z| eingeben > "); scanf("%i",&z); leerzeile(); printf("\n %i + %i + %i = %i",x,y,z,x+y+z); }
Das ist zwar C, aber du kompilierst mit einem C++ Compiler. Wenn du es mit einem C Compiler (oder dem C++ Compiler im C-Modus) kompilieren würdest, dann wäre das kein Problem.
Da du hier im C Forum bist, gehe ich davon aus dass du auch C programmeirst, und nicht C++. Also darfst du den Rückgabetyp weglassen, musst aber dem Compiler sagen dass er den Code as C Code kompilieren soll.
-
Danke für den Tipp, aber vorher habe ich auch mit einem (anderen) C++-Compiler compiliert (mit dem BorlandC++). Wie kann ich den Compiler auf C umstellen?
-
Das Buch muss ja sehr alt sein.
In C wurde implizit der Rückgabetyp
int
angenommen, wenn keiner angegeben wird.
Das ist aber seit C99 verboten (also seit 15 Jahren)Du solltest darum dem Compiler noch den C-Standard angeben.
-
Die letzten Borland C++ Versionen sind von 1997.
Ob damit noch jemand arbeitet?Du musst mal die Compileroptionen in den Projekteinstellungen durchsehen.
-
Ja, das Buch ist sehr alt... ich weiß.
Aber was muss ich jetzt da genau eingeben, damit er keinen Fehler mehr anzeigt?
-
- bei "New project" auf "C Project" einstellen
- Tools -> "Compiler Options" -> "Add the following commands when calling compiler:" -> "-ansi"
-
Eine Lösung hätte ich gefunden: Man muss den Sourcefile in .c speichern, aber es muss doch auch eine dauerhafte Lösung geben, oder?
-
Danke.
-
Phynix schrieb:
Eine Lösung hätte ich gefunden: Man muss den Sourcefile in .c speichern, aber es muss doch auch eine dauerhafte Lösung geben, oder?
Es gibt zwei sehr einfache Lösungen:
- Einen uralten Compiler besorgen.
- Ein modernes Buch besorgen.
Kommt drauf an, ob du eher historisch/archäologisch oder an Programmierung interessiert bist.
-
Phynix schrieb:
Eine Lösung hätte ich gefunden: Man muss den Sourcefile in .c speichern, ...
Das ist bei einem C-Quellcode auch sinnvoll.