非常基本的std :: vector迭代

pig*_*d10 1 c++ iteration vector std

std::vector<Ogre::SceneNode*>::iterator itr;
for(itr=mSelectedObjects.begin();itr!=mSelectedObjects.end();itr++){
    itr->showBoundingBox(true); //here
}
Run Code Online (Sandbox Code Playgroud)

我在标记的行上得到"表达式必须具有指针类型",我不知道为什么.有人可以帮忙吗?

NPE*_*NPE 7

用以下内容替换错误的行:

(*itr)->showBoundingBox(true); //here
Run Code Online (Sandbox Code Playgroud)

由于您正在存储指针,因此需要取消引用itr两次才能从迭代器到对象(一次用于迭代器,一次用于指针).