Trouver la valeur la plus proche dans l’arbre de recherche binary en C ++

Ceci est mon code. Lorsque j’exécute ma méthode la plus proche (), j’obtiens toujours 0. Quelqu’un sait-il comment obtenir la valeur la plus proche d’un entier? Cela signifie que je veux que l’entier le plus proche de celui pour lequel j’ai choisi la valeur la plus proche mais qui doit être présent dans l’arbre pour être affiché

template T bst::closestValue(T value) const { } template T bst::closestValue(T value, T & closest, bst_node* node) const { bst* pClosest = NULL; int minDistance = 5000; bst* pNode = root; while(pNode != NULL) { int distance = abs(pNode->value - value); if(distance m_nValue > value) pNode = pNode->m_pLeft; else if(pNode->m_nValue m_pRight; } return pClosest; }