Iterator Problem
-
bool MenschlicherSpieler::anlegepruefung(const Stein &s){ std::list<Stein>::iterator it=this->Menschpool.begin(); while(it!=Menschpool.end()){ if(s.getL()==it->getR() || s.getR()==it->getL())return true;//Fehler it++; } return false; }Ich will eine Liste von "Stein" objekten nach einem bestimmten Stein absuchen
bekomme aber diese Fehlermeldung:
error: passing `const Stein' as `this' argument of `int Stein::getR()' discards qualifiers
-
Ich nehme an Stein::getL() und Stein::getR() sind nicht als const markiert. Damit weiss der Compiler nicht dass getL() und getR() das Objekt nicht verändern. und ein const Stein kann man nicht verändern.
class Stein { public: int getL() const; // <- das const hier am Ende };
-
Ja stimmt das war es thx