invalid initialization of reference of type 'Account&' from expression of type ' const Account'



  • person.h

    class Person
    {
    public:
            [...]
    private:
    	[...]
    	vector <Account> accounts;
    };
    

    person.cpp

    Account& Person::getAccount(string accountName) const
    {
            [...]
    	return accounts.at(i);
    }
    

    accounts.at(...) müsste doch eine 'Account&' zurückliefern und nicht 'const Account'. Also wo ist der Fehler 😕



  • Deine Methode ist const. Folglich werden fuer alle Elemente deiner Klasse nur const Methoden aufgerufen. Also wird das at() const aufgerufen, das eine const Referenz zurückgibt.



  • Danke! Das hätte ich selbst sehen können.
    Allerdings werde ich das Gefühl nicht los, dass man mit den Fehlermeldungen von Visual C++ mehr anfangen kann als mit denen von KDevelop.


Anmelden zum Antworten