そのため、bst の各ノードの各アイテムに対して関数 f を実行することを目的とした関数 preorder processing があります。機能は次のとおりです。
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); です。実際の関数「print」は次のとおりです。
template<class Item>
void print(Item a)
{
cout << a << endl;
}
エラーは次のとおりです。
bstNode.cxx:23: エラー: '<code>preorder_processing(bstNode<int, long unsigned int>* <未解決のオーバーロードされた関数の型>)' の呼び出しに一致する関数がありません</p>
誰が何が起こっているのか知っていますか?