Мне нужна помощь в решении этой проблемы, мой код плохо объясняет проблему, когда мы go вкл.
template <class T>
class BinaryTree
{
private:
struct TreeNode
{
T value;
TreeNode* left;
TreeNode* right;
};
TreeNode* root;
void insert(TreeNode*&, TreeNode*&);
int treeHeight(TreeNode*);
public:
int height()
{return treeHeight(root)}
void insert();
Код продолжает падать всякий раз, когда я go в случае 6 может кто-то сказать мне, почему .
. cpp
template <class T>
void BinaryTree<T>::insertNode(T num)
{
TreeNode* newNode = NULL; // Pointer to a new node.
// Create a new node and store num in it.
newNode = new TreeNode;
newNode->value = num;
newNode->left = newNode->right = NULL;
// Insert the node.
insert(root, newNode);
}
template<class T>
int BinaryTree<T>::treeHeight(TreeNode* node)
{
if (!node) return 0;
return 1 + max(height(node->left), height(node->right));
}
main
#include <iostream>
#include <windows.h>
#include"BinaryTree.cpp"
int main()
{
BinaryTree<int> tree;
tree.insert(10)
tree.insert(11)
tree.insert(12)
tree.insert(13)
tree.insert(14)
tree.insert(15)
cout << "The total number of leaves are " << tree.height() << endl;
break;
}
Вот минамальный воспроизводимый пример, это хорошо? поэтому код должен возвращать высоту деревьев, но по какой-то причине он всегда вылетает, любая помощь приветствуется