Имеются функции:
struct Tree {
int key;
string inf;
Tree *left;
Tree *right;
};
void deleteTree(Tree *&tree) {
if (tree != NULL) {
deleteTree(tree->left);
deleteTree(tree->right);
delete tree;
}
}
void showTree(Tree *tree, int level) {
string str;
if (tree != NULL) {
showTree(tree->right, level+1);
for (int i = 0; i < level; i++) {
str += " ";
}
cout << str << tree->inf << " " << tree->key << endl;
showTree(tree->left, level+1);
}
}
Задача - удаление созданного списка в виде бинарного дерева. Однако после удаления при просмотре выдает следующую ошибку: Вызвано исключение: нарушение доступа для чтения.
tree было 0xDDDDDDDD.
И указывает на строку
showTree(tree->right, level+1);
В чем ошибка и как исправить?
Следует обNULLить указатель после удаления дерева. Ну или лучше nullptr все таки, согласно ++11. Вы то проверяете указатель на != NULL, а в Си значение указателя по умолчанию это мусор, который не NULL
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Проблема в том чтобы после выполнения исключения Owerwriting программа продолжила работу и копировала файл,у меня она просто выдает исключение...
Когда я пытаюсь создать/открыть проект Visual C++, я получаю такое сообщение:
Помогите понять в чем ошибкаУдаляет все правильно, но при выводе списка в консоли вылетает ошибка
Доброй ночи, форумчанеТакой вопрос: Как в переодичной функции обратного типа(CALLBACK WindProc()) закрывать окно при помощи CTRL+C? Знаю что можно через...