[hilfe] lokale funktionsgleichungen unzulässig



  • hab mal en kleines programm gemacht hier mal code ausschnitt

    ...
    class raten
        {
        private:
    	 int längste_runde;
         int nummer;
    	 int schnellste_runde;
        public:
         bool Number();
         bool Srunde();
    	 bool Lrunde();
    
        };
    
    ...
    
     bool raten::Srunde()   // hier kommt der Fehler
    	{
    		 if (runde <= schnellste_runde) 
    	        {
    		         schnellste_runde = runde;
    
    	        }
    
    	}
    ...
    

    der abschnitt sollte die runde falls sie schneller / kürzer war zu neuen schnellsten runde machen .
    hab statts "bool Srunde" auch schon int und void probiert ging trozdem ned 😞
    nun folgendes progblem der kompiler zeigt immer folgendes an:

    error C2601:'raten::Srunde': Lokale Funktionsdefinitionen sind unzulässig

    was hab ich falsch gemacht ?? benutze microsoft visual studio 2008 .
    danke schonmal für eure hilfe
    MfG Berghuhn



  • Da scheint vor bool raten::Srunde() eine abschließende geschweifte Klammer zu fehlen.



  • Ja.
    Und wenn man sich schon nix merken kann, sollte man wenigstens Copy & Paste erlernen.

    "Funktionsdefinitionen" != "funktionsgleichungen"



  • nach dem class raten kommt nur noch "int main" und dann { und dann nach return 0 }
    wie könnte dort eine geschweifte klammer fehlen? muss davor nochmal eine hin? wobei du glaube ich recht hast mit der klammer weil ich gerade unter dem fehler da hier entdeckt hab:

    "Diese Zeile enthält eine '{', die keine Entsprechung hat"

    und danke schonmal für deine hilfe



    1. Vielleicht hast du nicht den gesamten Inhalt der "class raten" hier gepostet, und es ist wirklich ne { zuviel drin?

    2. Die { ohne passende } muss nicht in der "class raten" stehen, und auchnicht unbedingt nachher, sondern kann auch vorher irgendwo sein (man kann ja Klassen in anderen Klassen, oder sogar lokal in Funktionen definieren - von daher würde nicht sofort bei der Zeile "class raten" unbedingt ein Fehler gemeldet, da diese an der Stelle noch OK sein kann - auch mit fehlender } davor).



  • Fehlermeldung schrieb:

    error C2601:'raten::Srunde': Lokale Funktionsdefinitionen sind unzulässig

    "raten::Srunde" versehentlich innerhalb der "main ()" definiert ? 🙂



  • werweiß schrieb:

    Fehlermeldung schrieb:

    error C2601:'raten::Srunde': Lokale Funktionsdefinitionen sind unzulässig

    "raten::Srunde" versehentlich innerhalb der "main ()" definiert ? 🙂

    oje ich idiot xD hab gerade erst mit oop angefangen und wollt en bissle üben ^^ danke für eure hilfe!


Anmelden zum Antworten