template<class T>
void BinaryTree<T>::InOrder(void(*vist)(BinTreeNode<T>*tr))
{
if (root) {
InOrder(root->leftChild, vist);
vist(root);
InOrder(root->rightChild, vist);
}
}
其中root是私有成员变量,其类型为BinTreeNode,为什么第4和第6行不报错,InOrder函数参数表里只有回调函数没有BinTreeNode啊。
你调试一下 看看这里面的函数进入的地方 是不是你圈着的这函数,或者这个函数的声明有毛病,或者进入 的函数不是这个