【发布时间】:2015-05-03 00:31:51
【问题描述】:
这些是 Tree 类中的函数,我将有一个 State 树和 Person Tree,我想说 states->find(fname,lname) 在 main 中,因此 TreeType 将是 State 类型,因为 states 是类型状态。但是当 TreeType 是 Person 类型时会发生错误,尽管我只在它的 State 类型时调用该函数。
Person * find(string fname, string lname, node<Person> * n) {
if(n->data->lname == lname && n->data->fname == fname)
return n->data;
else if(n->data->lname > lname)
find(fname, lname, n->left);
else
find(fname, lname, n->right);
}
Person * find(string fname, string lname, node<TreeType> * n) {
node<Person> * temp = n->data->people->root;
Person * p = find(fname, lname, temp);
if(p != NULL)
return p;
find(fname, lname, n->left);
find(fname, lname, n->right);
}
Person * find(string fname, string lname) {
return find(fname, lname, root);
}
【问题讨论】:
-
如果您感到困惑,我们也会。您打算向您的班级用户提供的功能原型是什么?
-
Person * (string fname, string lname);
-
它叫 find sorry
-
你的数据结构就像
tree<string, tree<string, object>>(带有虚构类型tree)?您应该编辑您的问题以添加所有这些详细信息并使其更具可读性(即使用空格和 Shift 键和代码块来显示您当前的代码),以便我们可以回答您而不会因为试图理解您的问题而头疼。
标签: c++ algorithm recursion tree