所以基本上我有一个std :: vector容器,它包含bool值(真,假),并且我需要一个operator [],但是当我返回带有正确索引的value(bool)时,它给了我一个错误这个: 不能将类型'bool&'的非常量左值引用绑定到类型'bool'|的右值
我的接线员看起来像这样:
> bool& operator[] ( unsigned int idx) {
typename std::vector<bool>::iterator retval;
for (typename std::vector<std::vector<bool>*>::iterator it = data.begin(); it != data.end(); ++it) {
for (typename std::vector<bool>::iterator cont_it = (*it)->begin(); cont_it != (*it)->end();++cont_it)
{ if (idx == 0) {
> retval = cont_it;
}
idx--;
}
}
> return *retval; }
并调用导致错误的原因:
ivb[ 0 ] = false;
ivb[ 1 ] = true;