Я не очень разбираюсь в отладчике, поэтому я пришел сюда, чтобы найти другой способ взглянуть на мою проблему - PullRequest
0 голосов
/ 24 апреля 2020

Мне нужна помощь в решении этой проблемы, мой код плохо объясняет проблему, когда мы 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;
}

Вот минамальный воспроизводимый пример, это хорошо? поэтому код должен возвращать высоту деревьев, но по какой-то причине он всегда вылетает, любая помощь приветствуется

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...