我正在寻找代码中的错误,但有一个问题:
class a
{
public:
void foo(int a) {}
}
std::set<a*> set;
std::set<a*>::iterator it = set.begin();
it->foo(55); //gives me error:
// error: request for member ‘foo’ in ‘* it.std::_Rb_tree_const_iterator<_Tp>::operator-><a*>()’, which is of pointer type ‘a* const’ (maybe you meant to use ‘->’ ?)
为什么它不允许我在上面使用非常量函数?如果不使用强制转换,我该怎么做才能拥有一组非常量指针?