尝试使用矢量迭代器访问对象
Trying to access an object with a vector iterator
我是迭代器的新手,我遇到了一个问题。
这是我创建向量并将一些指针推送到对象的代码的一部分:
vector<MyClass*> MyVector;
MyVector.push_back(new object);
MyVector.push_back(new object);
MyVector.push_back(new object);
vector<MyClass*>::iterator temp;
temp = MyVector.end(); //because I want to use a function for the last one
Sum += temp->get_num(); //function that returns an object member
通过这个,我想实现获取和求和存储在对象中的一些数字。但似乎它不会编译。
错误如下。
240 27 ~\test.cpp [错误] 在 '* temp.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator->>()' 中请求成员 'get_num',其指针类型为 'MyClass*'(也许你的意思是使用 '->'?
在使用
MyClass 对象之前,应首先取消引用指针。
其次,不应取消引用结束迭代器 (http://www.cs.northwestern.edu/~riesbeck/programming/c++/stl-iterators.html)。
第三,编译器应该在"+="标记之前警告您预期的初始值设定项。
double sum = 0.0;
sum += (*temp)->get_num();
相关文章:
- 如何通过迭代器访问向量中的嵌套对?
- 有关使用矢量迭代器访问对象方法的问题
- C++中的 2D 迭代器访问
- 如何使用C STD :: SET中的迭代器访问成员功能
- 尝试使用矢量迭代器访问对象
- 使用迭代器访问元素
- 使用C++迭代器访问元素
- 使用矢量迭代器访问方法
- 嵌套迭代器访问
- 使用迭代器访问结构元素
- 使用迭代器访问向量的特定点
- 如何从 STL 列表中的迭代器访问指向结构的指针而不是其元素
- 通过迭代器访问字符串向量中的字符
- C++-映射迭代器访问导致segfault
- C++:从只能通过迭代器访问的数据类型中高效地提取元素子集
- 向量索引访问与迭代器访问的效率
- 仅使用迭代器访问c++stl映射
- C++工厂制造和多态性 ->调用由映射迭代器访问的实例的子类的虚拟方法
- 那么,是否可以像使用指针一样使用迭代器访问二维向量中的所有元素呢?
- 使用迭代器访问映射的特定键的最有效方法