C++ C++;-未编译的对象向量的迭代器
我有一个类树,我试图遍历它们的列表并打印该类的C++ C++;-未编译的对象向量的迭代器,c++,vector,iterator,std,operator-precedence,C++,Vector,Iterator,Std,Operator Precedence,我有一个类树,我试图遍历它们的列表并打印该类的数据成员,我在该类中有以下两个方法: 节点树中的定义: class Node { public: int data; Node const* left; Node const* right; }; writeSets方法的片段: void Tree::writeSets(std::vector<Node const*> &list, Node const* root) {
数据
成员,我在该类中有以下两个方法:
节点
树中的定义:
class Node {
public:
int data;
Node const* left;
Node const* right;
};
writeSets
方法的片段:
void Tree::writeSets(std::vector<Node const*> &list, Node const* root) {
if (root == NULL) {
return;
}
// Displays all preceding left values
for (std::vector<Node const*>::iterator it = list.begin(); it != list.end(); it++) {
std::cout << *it->data;
*** Getting compile error here **
}
}
void Tree::writeset(std::vector&list,Node const*root){
if(root==NULL){
返回;
}
//显示前面的所有左值
for(std::vector::iterator it=list.begin();it!=list.end();it++){
std::cout数据;
***此处获取编译错误**
}
}
编译错误为::错误:请求“*it”中的成员“数据”__gnu_cxx::uu normal_iterator::operator->with _iterator=const Tree::Node**,_Container=std::vector>',属于非类类型“const Tree::Node*”
节点
对象中的数据
类型为Int
,不确定是否需要定义迭代器的预期数据类型以及向量要包装以克服此错误的数据类型
如果有人能帮忙,我会很感激的
非常感谢。您应该编写(*it)->数据
*it->data
相当于*(it->data)
你应该写(*it)->data
*it->data
相当于*(it->data)
你应该写(*it)->data
*it->data
相当于*(it->data)
你应该写(*it)->data
*it->data
相当于*(it->data)
timrau-非常感谢您的快速响应,这就解决了问题。阿列克斯提姆劳-非常感谢您的快速回复,已经解决了。阿列克斯提姆劳-非常感谢您的快速回复,已经解决了。阿列克斯提姆劳-非常感谢您的快速回复,已经解决了。亚历克斯