Fehler passing 'const' as 'this' argument

Bin ich stecken auf einem Fehler, so lange nun, die folgenden, die ich bin zu lernen, und ich glaube, ich verstehe nicht den Fehler.

 droid.cpp: In function std::ostream& operator<<(std::ostream&, const Droid&)’: 

droid.cpp:94:30: error: passing const Droid as this argument of std::string 

Droid::getId()’ discards qualifiers
 [-fpermissive]

die Linie 94:

std::ostream&   operator<<(std::ostream &os, Droid const & a)
    os << "Droid '" << a.getId() << "', " << *a.getStatus() << ", " << a.getEnergy() << std::endl;

und hearders :

std::string   getId();

Ich habe den gleichen Fehler für die 3 Anrufe in " - operator<<", ein.getId, ein.getStatus, ein.getEnergy.

Kann mir jemand erklären könnte, was mir der compiler sagen?

InformationsquelleAutor Gabson | 2014-01-15
Schreibe einen Kommentar