【发布时间】:2023-03-04 09:31:01
【问题描述】:
我对 C++ 非常陌生,并且正在努力弄清楚我应该如何遍历对象列表并访问它们的成员。
我一直在尝试这个 data 是一个 std::list 和 Student 一个类。
std::list<Student>::iterator<Student> it;
for (it = data.begin(); it != data.end(); ++it) {
std::cout<<(*it)->name;
}
并得到以下错误:
error: base operand of ‘->’ has non-pointer type ‘Student’
【问题讨论】:
-
首先您需要阅读有关如何声明迭代器变量的更多信息。提示:它们不是模板。其次,虽然迭代器在某些方面可以被视为指针,但一旦取消引用它,它就不再是“指针”而是值。
标签: c++ for-loop c++11 stl iterator