我们有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_iterator
到colorset.begin()
的转换不存在。
如果我从函数中删除const term一切正常,但我必须将函数声明为const。
为什么会出现此错误? 或者有人可以提供替代方法迭代地图吗?
答案 0 :(得分:4)
使用const_iterator:
for(std::map<double, COLORREF>::const_iterator ii=colorset.begin(); ii!=colorset.end(); ++ii)
PS
我会先使用ii-&gt;等等