Похоже, что он ничего не возвращает по какой-то причине. Кто-нибудь может указать мне правильное направление, вот мой код. Счетчик оставляет функцию
template<class T>
int BinaryTree<T>::leaves(TreeNode* n)
{
int count = 0;
if (n->left == NULL && n->right == NULL)
count++;
else
{
if (n->left != NULL)
count += leaves(n->left);
if (n->right != NULL)
count += leaves(n->right);
}
return count;
}
Получатель этой функции
template<class T>
int BinaryTree<T>::numLeaves()
{
return leaves(root);
}
и основной
case 6:
cout << "The total number of leaves are " << tree.numLeaves() << endl;
break;
по какой-то причине все, кажется, работает, так как не обрабатывает sh код, но ничего не возвращает, например, если я введу 5 4 2 9 0 он должен вернуть 2 с "2" и "9", являющимися листьями, но он не может мне объяснить, что не так