Fehler: expected initializer before



  • Hallo,

    haben den Fehler "expected initializer before Seehund". Kann jedoch leider keinen Fehler entdecken. Wäre super wenn ihr mir helfen könntet? 🙂

    der Fehler kommt bei void string Seehund::getfangen und bei void string Seehung::getbalancieren auf

    #include "seehund.h"
    #include <string>
    #include "objekt.h"
    #include "clown.h"
    #include <iostream>
    using namespace std;
    
    Seehund::Seehund(string name)
    {
        this->name = name;
    }
    
    string Seehund::getname()
    {
        return name;
    }
    
    void string Seehund::getfangen(Objekt *objekt){
        if (werfen == true)
            return *fangen;
    }
    
    void string Seehund::getbalancieren(){
        if (char c == b){
            return balancieren;
        }
    }
    
    void string Seehund::getfressen(){
        if (char c == f){
            return fressen;
        }
    }
    


  • void string Seehund::get..(..)
    {
    }
    

    Hier ist jeweil void und string zusammen und das ist nicht korrekt - es geht nur ein Rückgabe-Typ.

    // Edit

    Zudem musst du bei einem Rückgabe-Typ der nicht void ist in jedem Fall einen Wert zurückgeben. Also bei dir immer if (..) und auch else ...



  • Und was soll das machen?

    if (char c == b)
    


  • Danke

    bei dem (char c == b)

    wollte ich sagen, dass wennin der Variable c der Buchstabe b steht esdurchschalten soll.



  • Chris9090 schrieb:

    Danke

    bei dem (char c == b)

    wollte ich sagen, dass wennin der Variable c der Buchstabe b steht esdurchschalten soll.

    Du erschaffst genau da eine neue nicht initialisierte char Variable c. Welchen Wert diese hat dürfte niemanden interessieren.


Anmelden zum Antworten