Visual c++ 如何实现二进制搜索树的显示功能?

Visual c++ 如何实现二进制搜索树的显示功能?,visual-c++,binary-tree,function-pointers,Visual C++,Binary Tree,Function Pointers,如果display作为函数指针传递给函数inoder,那么如何为字符串的二叉搜索树实现display函数 typedef void (*FunctionType)(TreeItemType& anItem); void display(TreeItemType& anItem); void BinarySearchTree::inorder(TreeNode *treePtr, FunctionType visit) { i

如果display作为函数指针传递给函数inoder,那么如何为字符串的二叉搜索树实现display函数

typedef void (*FunctionType)(TreeItemType& anItem);
void display(TreeItemType& anItem);
void BinarySearchTree::inorder(TreeNode *treePtr, 
                         FunctionType visit)
{   if (treePtr != NULL)
    {   inorder(treePtr->leftChildPtr, visit);
        visit(treePtr->item);
        inorder(treePtr->rightChildPtr, visit);
    } // end if
} // end inorder
我试着写一些东西,比如:

cout << anItem;
显示树的项(字符串)


你能发布
TreeItemType
的定义吗?你能澄清一下“它不起作用”是什么意思吗?BinarySearchTree::inorderTraverse()看起来像什么?tree.inorderTraverse(display)可能类似于:void inorderTraverse(FunctionType visit){inorder(_head,visit);},其中_head是指向树头的私有字段。
visit(treePtr->item);
int main()
{
    BinarySearchTree tree;
    TreeItemType item = "20";
    tree.searchTreeInsert(item);
    tree.inorderTraverse(display); // call to inorderTraverse calls inorder
    return 0; // indicates successful completion
} // end function main

void display(TreeItemType& anItem)
{
    cout << anItem;
}
typedef string TreeItemType;