constとして宣言したいメソッドを作成しましたが、コンパイラーが文句を言います。トレースしてみると、メソッドのこの部分が問題の原因であることがわかりました。
bool ClassA::MethodA(int x)
{
bool y = false;
if(find(myList.begin(), myList.end(), x) != myList.end())
{
y = true;
}
return y;
}
メソッドにはそれ以上のことが起こっていますが、他のすべてが取り除かれているため、これはメソッドをconstにすることができなかった部分でした。stl findアルゴリズムがメソッドのconstを妨げるのはなぜですか?それは何らかの形でリストを変更しますか?