所以,我有一个函数,预购处理,这意味着在 bst 的每个节点中的每个项目上执行函数 f。功能如下:
template <class Item, class Key, class Process>
void preorder_processing(bstNode<Item, Key>*& root, Process f)
{
if (root == NULL) return;
f(root);
preorder_processing(root->left(), f);
preorder_processing(root->right(), f);
}
不幸的是,当我从主函数中调用该类时,出现错误。调用是 preorder_processing(root_ptr, print); 实际功能“打印”是:
template<class Item>
void print(Item a)
{
cout << a << endl;
}
错误是:
bstNode.cxx:23: 错误: 没有匹配函数调用 '<code>preorder_processing(bstNode<int, long unsigned int>* <unresolved overloaded function type>)'</p>
有谁知道发生了什么?