Need help calling function
here is the InOrderPrint private recursive function template<class T> void BinaryTree<T>::InOrderPrint(BinNode<T>* cursor, void process(T& data)) { if(cursor != nullptr) { InOrderPrint(cursor->left, process); process(cursor->data); InOrderPrint(cursor->right, process); } } Here is the public function that calls it. template<class T> void BinaryTree<T>::InOrderPrint(void process(T *data)) { InOrderPrint(root, process); //call to private function using a Node object //called root and the parameter process as an //argument. } inside main is where I call the function after instantiating the Binary tree object. I have also declared a function called process in main to see if I could pass the void function as an argument, however it has not been defined yet. void process(Card* card); cards.InOrderPrint(process(*cardInfo)); // here is where the error is flagged and states: void process(Card* card) { //not defined yet }