0

map: _

std::map<double, COLORREF> colorset;

ここで、返す関数の一部を提供しcolorrefますvalue

COLORREF GetColour(double value) const
{
   ...
   for(std::map<double, COLORREF>::iterator ii=colorset.begin(); ii!=colorset.end(); ++ii)
   {
    std::cout << (*ii).first << ": " << (*ii).second << std::endl;
   }
   ...
   return defaultColor;
}

tree_const_iteratorしかし、コンパイラはからtree_iteratorinへの変換が存在しないことを伝えるエラーを出しますcolorset.begin()

関数から const 項を削除すれば問題ありませんが、関数を const として宣言する必要があります。

なぜこのエラーが表示されるのですか? または、誰かがマップを反復する別の方法を提供できますか?

4

1 に答える 1