この関数は二分木クラスの中にあります
/***********************
*
* give preorder of tree
*
* ********************/
void preorder(Node * node, std::ostream &p_str){
if(node != NULL){
//p_str << node->Data() << " ";
if(node->m_ll) {
preorder(node->m_ll, &p_str);
}
if(node->m_rl) {
preorder(node->m_rl, &p_str);
}
}
}
ここでクラスの外で呼び出しを行います。ルートから始めて、ツリーを再帰的にトラバースする
void preorder(Node * node, std::ostream &p_str){
if(node != NULL){
//p_str << node->Data() << " ";
if(node->m_ll) {
preorder(node->m_ll, &p_str);
}
if(node->m_rl) {
preorder(node->m_rl, &p_str);
}
}
}
次のようなエラーが発生します
Tree.h:337: error: no matching function for call to 'CTree<int>::preorder(CTree<int>::Node*&, std::ostream*)'
Tree.h:330: note: candidates are: void CTree<T>::preorder(CTree<T>::Node*, std::ostream&) [with T = int]
Tree.h:343: error: no matching function for call to 'CTree<int>::preorder(CTree<int>::Node*&, std::ostream*)'
Tree.h:330: note: candidates are: void CTree<T>::preorder(CTree<T>::Node*, std::ostream&) [with T = int]
私が見落としているかなり単純なことについて何か考えはありますか?