2011-04-29 4 views
0

기본 형태로 감소 템플릿 매개 변수와 "해결되지 않은 오버로드 된 함수 타입을"주고, 나는 이진 검색 트리와 같은 것을 할 노력하고있어 : error: no matching function for call to ‘preorder_processing1(const bst<int, int>*&, <unresolved overloaded function type>, const bst<int, int>*&)’g의 ++는

나는

preorder_processing1(root, print_if_leaf<Item, Key>, root); 

처럼 preorder_processing1 호출에 깁스를 강제로 시도했다 ...하지만이 또한 문제가 해결되지 않았습니다.

누구에게이 문제가 보이나요?

답변

4
template <class Item, class Key, class Process, class Param> 
void preorder_processing1(bst<Item, Key> *root, Process f, Param g) 

이것은 const bst<Item, Key> *

는 또한 f(root->val, g);에 전화가 문제가됩니다 취할 필요 - root->valbst<Item, Key> const * 없습니다. 가능성이 높습니다 f(root, g)

+0

제안 사항이 변경되었습니다. 나는 f (루트, g) 일을 놓쳤다. 좋은 소리. 그러나 여전히 동일한 컴파일 오류가 발생합니다. const : 오류 : 'preorder_processing2 (const bst * & lt; 해결되지 않은 오버로드 된 함수 유형>, const bst * &') 호출에 대해 일치하는 함수가 없습니다. – deeb

+0

'print_if_leaf '변형이 필요합니다. – Erik

+0

죄송합니다, 늦었습니다. 잠시 동안 계속 노력하고 있습니다. 그게 정확히 내 print_if_leaf 변형이 필요하다는 것을 의미합니까? – deeb