C++ 未命名函数对象作为参数
我正在构建一个二叉树,我的binTree类中包含以下函数头:C++ 未命名函数对象作为参数,c++,binary-tree,traversal,C++,Binary Tree,Traversal,我正在构建一个二叉树,我的binTree类中包含以下函数头: public: ... void inorder(void(*)(T&)); // inorder traversal of tree ... private: ... void inorder(Node<T>*, void(*)(T&)); // private version of inorder() ... 但是
public:
...
void inorder(void(*)(T&)); // inorder traversal of tree
...
private:
...
void inorder(Node<T>*, void(*)(T&)); // private version of inorder()
...
但是,每次编译代码时,我都会从以下实现中得到一个错误:
template<class T>
void binTree<T>::inorder(void(*)(T&) f) {
inorder(root,f);
}
它告诉我f前面应该有一个逗号。如果我不使用f,只要我不调用inorder的私有版本,它就会编译。如何正确调用inorder的私有版本?不确定,但它不应该是空的吗*f t&?啊啊啊啊啊啊啊啊啊啊啊啊啊,那是我的问题……编码太多时间了,我的大脑都快崩溃了