Anfaengerproblem - unverständliche Fehlermeldung



  • Hallo,

    bin gerade dabei, mir mit dem Buch "C++ in 21 Tagen" C++ beizubringen. Ich habe ein Programm aus dem Buch probiert (genau kopiert), erhalte aber einen unverständlichen Fehler.
    Hier der Code:
    #include <iostream.h>
    #include <stdlib.h>
    class Cat
    {
    public:
    int GetAge();
    void SetAge(int age);
    void Miau();
    private:
    int itsAge();
    };

    int Cat::GetAge()
    {
    //Zeile 15:
    return(itsAge);
    }

    void Cat::SetAge(int age)
    {
    // Zeile 20:
    itsAge=age;
    }
    void Cat::Miau()
    {
    cout <<"Miau.\n";
    }

    int main()
    {
    Cat Frisky;
    Frisky.SetAge(5);
    Frisky.Miau();
    cout <<"Frisky ist eine Katze, die ";
    cout <<Frisky.GetAge()<<" Jahre alt ist.\n";
    Frisky.Miau();
    return 0;
    }

    Nun die Fehlermeldungen (relevante Zeilennr. oben als Kommentar eingefügt):
    Zeile 15: Aggregate Value used where an integer was expected
    Zeile 20: invalid use of member (did you forget the '&'?)

    Kann mir jemand weiterhelfen?

    Viele Grüße
    Bernhard



  • class Cat 
    { 
    public: 
    ...
    private: 
      int itsAge; 
    };
    


  • private:
    int itsAge;
    

    PS: Das Buch ist schlecht. Besorg dir lieber ein Vernünftiges.



  • [Edit] zu spät!



  • hallo.
    1. OHNE *.H -> #include <iostream>, #include<stdlib>

    #include <iostream> 
    using namespace std;
    
    class Cat 
    { 
    public: 
    int GetAge(); 
    void SetAge(int age); 
    void Miau(); 
    private: 
    int _itsAge; //ohne () 
    }; 
    
    int Cat::GetAge() 
    { 
    //Zeile 15: 
    return _itsAge; 
    } 
    
    void Cat::SetAge(int age) 
    { 
    // Zeile 20: 
    itsAge=age; 
    } 
    void Cat::Miau() 
    { 
    cout <<"Miau."<<endl; 
    } 
    
    int main() 
    { 
    Cat Frisky; 
    Frisky.SetAge(5); 
    Frisky.Miau(); 
    cout <<"Frisky ist eine Katze, die "; 
    cout <<Frisky.GetAge()<<" Jahre alt ist.\n"; 
    Frisky.Miau(); 
    return 0; 
    }
    

    so sollte es funktionieren
    :xmas1:
    PS hol dir ein anderes buch



  • Vielen Dank! Welches Buch würdest Du empfehlen?
    Zur Info: Programmiere statistische Verfahren in R. Da das für größere Probleme sehr langsam ist, will ich jetzt C++ lernen, da c++ Programme in R eingebunden werden können (d.h. alles was besonders aufwendig ist, soll als C++ eingebunden werden). Erst mal muss ich aber natürlich C++ lernen.
    Gruß, Bernhard





  • Ich weiß ja nicht, was für ein Witzbold da oben was geschrieben hat. Aber mein Programm geht immer noch nicht.



  • bab schrieb:

    Ich weiß ja nicht, was für ein Witzbold da oben was geschrieben hat. Aber mein Programm geht immer noch nicht.

    Fake. ⚠



  • Die letzte Nachricht war tatsächlich nicht von mir, sondern ein Fake. Nochmal vielen Dank an alle, die geantwortet haben!


Anmelden zum Antworten