c++ - 非常基本的 std::vector 迭代

标签 c++ vector iteration std

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

我在标记的行上收到“表达式必须具有指向类的类型”,我不确定为什么。谁能帮忙?

最佳答案

将错误行替换为:

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

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

关于c++ - 非常基本的 std::vector 迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7531729/

相关文章:

c++ - OpenSSL 套接字 : Select always returns 0

c++ - 带更新的加权随机数生成器

c++ - 如何在 C++ 中迭代地将函数应用于数据?

C++遍历列表以比较位置

c# - C# 中是否有支持故障安全迭代的良好 IList 和 IDictionary 实现?

c++ - 导出包含它们的模板时未创建源文件/头文件

c++ - LINUX:可以通过 LAN 进行管道传输吗?如果是这样,是否可取?还有哪些其他选择?

c++ - 调用 std::vector::push_back() 会更改 vector 中先前的元素吗?

c++ - 使用 ofstream 在 cython 中写下二维 vector

python - 如何比较列表中的4个连续元素?