2014-09-04 6 views
0

이것은 bst의 내 높이 함수입니다. cpp이진 검색 트리, 높이

int IntBinaryTree::getHeight(TreeNode * nodePtr) 
{ 
    if(nodePtr = NULL) 
    return 0; 
    else 
    return (max(1+getHeight(nodePtr->left), 1+getHeight(nodePtr->right))); 
} 

내가 main()에서 호출 할 때. 내가 잘못 했어.

이 내 주()

int main { 
    IntBinaryTree tree; 
    .... 
    tree. getHeight(); 
    return 0; 
} 
+1

무엇이 오류입니까? – YoungJohn

+0

함수에 매개 변수를 전달하지 않을 수 있습니까? –

답변

3

당신은 어떤 오류 말을하지 않았지만, 변경과 같습니다

if(nodePtr = NULL) 

if(nodePtr == NULL) 
      ^^ 

는 당신이 필요로하는 것입니다

에.

+1

이런 이유로, 'nodePtr == NULL'보다는'NULL == nodePtr'로 비교를 쓰는 것이 좋습니다. 'NULL = nodePtr' (대입 연산자가 있음) 컴파일되지 않습니다. – Paul

+0

@ Paul, 좋은 지적. –