非常基本的std :: vector迭代

时间:2011-09-23 15:58:44

标签: c++ vector iteration std

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

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

1 个答案:

答案 0 :(得分:7)

将错误的行替换为:

(*itr)->showBoundingBox(true); //here

由于你要存储指针,你需要解除引用itr两次以从迭代器到对象(一次用于迭代器,一次用于指针)。