Funktionskopf fehlt...Woran liegt das ?
-
Hi Leute
hab hier ein kleines Problem mit meinem Prog, mein Compiler spuckt mir jedes mal folgende Meldung aus :
error C2447: Funktionskopf fehlt - Parameterliste im alten Stil?
Ich weiß echt nicht woran das liegen könnte,bin schon einige male den Source durchgegangen.
Na ja ich hoff da kann mir einer von euch weiterhelfen.
Hier ist der Source:#include <iostream.h> // Deklaration der Klasse Rectangle class Rectangle { public: // Konstruktoren Rectangle(int width, int height); ~Rectangle(); //Zugriffsfunktionen int GetHeight() const {return itsHeight;} int GetWidth() const {return itsWidth;} int GetArea() const {return itsHeight*itsWidth;} int GetPerim() const {return 2*itsHeight + 2*itsWidth;} void SetSize(int newWidth, int newHeight); // verschiedene Methoden private: int itsHeight; int itsWidth; }; //Implementierungen der Methoden void Rectangle::SetSize(int width, int height) { itsHeight=height; itsWidth=width; } Rectangle::Rectangle(int width, int height) { itsWidth=width; itsHeight=height; } Rectangle::~Rectangle() {}; int DoMenu(); void DoDrawRect(Rectangle); void DoGetArea(Rectangle); void DoGetPerim(Rectangle); int main() { //ein rechteck mit den Werten 30,5 initialisieren Rectangle theRect(30,5); int fQuit=false; while (!fQuit) { int choice; choice=DoMenu(); if(choice<1 || choice > 5) { cout <<"\nAuswahl war ungueltig.Bitte erneut eingeben.\n\n"; continue; } switch(choice) { case 1: DoDrawRect(theRect); break; case 2: DoGetArea(theRect); break; case 3: DoGetPerim(theRect); break; case 4: int newLength, newWidth; cout << "\nNeue Breite: "; cin >> newWidth; cout <<"\nNeue Hoehe: "; cin >> newLength; theRect.SetSize(newWidth, newLength); DoDrawRect(theRect); break; case 5: fQuit = true; cout<< "\nVerlassen...\n\n"; break; default: cout << "Fehler beim Auswaehlen!\n"; fQuit=true; break; } } return 0; } int DoMenu(); { int choice; cout <<"\n\n *** Menu *** \n\n"; cout <<"(1) Rechteck zeichnen\n"; cout <<"(2) Flaeche\n"; cout <<"(3) Umfang\n"; cout <<"(4) Groesse veraendern\n"; cout <<"(5) Beenden;\n"; cin >> choice; return choice; } void DoDrawRect(Rectangle theRect) { int height=theRect.GetHeight(); int width=theRect.GetWidth(); for (int i=0;i<height;i++) { for(int j=0;j<width;j++) cout <<"*"; cout <<"\n"; } } void DoGetArea(Rectangle theRect) { cout <<"Flaeche: " << theRect.GetArea() <<endl; } void DoGetPerim(Rectangle theRect) { cout <<"Umfang: " << theRect.GetPerim() <<endl; }Und hier meldet mir der Compiler nen Fehler:
int DoMenu(); { int choice; cout <<"\n\n *** Menu *** \n\n"; cout <<"(1) Rechteck zeichnen\n"; cout <<"(2) Flaeche\n"; cout <<"(3) Umfang\n"; cout <<"(4) Groesse veraendern\n"; cout <<"(5) Beenden;\n"; cin >> choice; return choice; }Soll an der gescheiften Klammer liegen

Also ich danke schonma für alle hilfreichen Posts.
-
Das Semikolon hinter der Parameterliste ist zu viel.
-
waaah was für ein leichtsinnsfehler hehe....ich danke dir für die schnelle Hilfe

-
Das sollte man mal in die FAQs stellen, weil wir es schon so oft hatten.