"cet argument est de type const mais la fonction n'est pas marqué const

Bon alors je suis un peu un noob en C++ et dans mon deuxième exercice, je suis tenu de rendre les classes privé et public et des arguments, etc, etc. Fondamentalement, le mutateur fonctions ne fonctionnent pas car apparemment ils ne sont pas de type const?

C'est le fichier d'en-tête avec la classe:

class Customer {

private:
    string PhoneNumber_;
    string Name_;
    string Address_;

public:
    string get_PhoneNumber() const {return PhoneNumber_;} //Accessor
    const void set_PhoneNumber(unsigned x) {PhoneNumber_ = x;} //Mutator

    string get_Name() const {return Name_;}
    const void set_Name(unsigned x) {Name_ = x;}

    string get_Address() const {return Address_;}
    const void set_Address(unsigned x)  {Address_ = x;}
};

//declare the CreateCustomer function prototype with default values
Customer* CreateCustomer(const string& id = BLANK, const string& name = BLANK, const string& address = BLANK);

Customer* CreateCustomer(const string& id, const string& name, const string& address) {
    Customer* temp = new Customer();

    temp->get_PhoneNumber() = id; //Due to the Accessors and Mutators PhoneNumber, Name and Address are now functions
    temp->get_Name() = name;
    temp->get_Address() = address;

    return temp;
}

Et c'est l'erreur que je reçois dans le main.cpp fichier:

cout << "\n\nDear ";
    cout << Charge[0].Holder.set_Name() << " (" << Charge[0].Holder.set_PhoneNumber() << ")";  // DisplayCustomer(customer) ;

    cout << ",\n" << Charge[0].Holder.set_Address() << "\n\n"

Fondamentalement, le message d'erreur exact est:

Fonction membre 'set_Name" pas viable: "cet argument est de type 'const
Client", mais la fonction n'est pas de type const

Il arrive avec set_PhoneNumber et set_Address. Toute aide serait grandement appréciée! Merci!

Mise à JOUR: je l'ai eu à travailler. Merci à tous pour m'avoir aidé!

Le type de retour est const void !?
CreateCustomer() devrait appeler set_PhoneNumber(id) si vous voulez set numéro de téléphone. Et son argument dirait qu'il a besoin d'être un string plutôt qu'un unsigned.
Vous message d'erreur est auto-explicatif. Vous ne pouvez pas appeler non-const fonctions sur les objets const. Cependant, je ne vois pas quelle est la Charge ou du Titulaire ou de où et comment vous déclarez ces entités.
Qu'est-ce que Charge et Holder ?
Comment ne pas getters et setters?

OriginalL'auteur Liam George | 2015-09-11