Warum geht das nich ??



  • Blutiger Anfänger erbittet demütigst Hilfe 🙂

    Des ist die Day.cpp

    #include "Day.h"
    #include <string.h>
    
    void Day::setName (string dayName) {
      Day::name = dayName;
    }
    
    string Day::getName () {
      return Day::name;
    }
    

    und das ist die Day.h

    #include <string.h>
    
    class Day {
    private:
      string name;
    public:
      void setName(string dayName);
      string getName(string dayName);
    };
    

    Main Funktion gibt es auch, steht aber nichts drin...
    Erster Fehler lautet:
    day.h(9) : Syntaxfehler : Fehlendes ';' vor Bezeichner 'name'

    Vielen Dank schonmal im Vorraus 🙂



  • um die Klasse string zu benutzen, mußt du 2 Dinge tun:
    a) den Header string einbinden
    b) bedenken, dass sie im Namensraum std liegt. Das einfachste wäre also:

    #include <string>
    class Day {
      std::string name;
    ...
    };
    

    Der Header string.h hat mit string absolut nichts zu tun.



  • Du musst die Funktion so schreiben:

    void Day::setName (string dayName) {
      name = dayName;   // der Wert wird nur dieser Instanz zugewiesen, denn 
                        // name ist nicht statisch
    // alternativ:
    this->name = dayName;
    }
    

Anmelden zum Antworten