Я некоторое время работал с этой программой на C ++, и я понял, что именно происходит, но я не понял, как это исправить.Вот что я настроил:
struct entry {
string foo;
string bar;
string num;
};
struct node {
entry input;
node* left;
node* right;
};
node* home = new node;
Этот код находится в отдельном заголовочном файле, который включен в основной файл cpp, который имеет следующее:
home->input.foo="John";
home->input.bar="Doe";
home->input.name="1234";
printAll(home);
ThisЭто была ошибка, когда я пытался пройти домой через функцию printAll
в заголовочном файле:
void printAll(node* start){
if(start==NULL) return;
printAll(start->left);
cout << start->input.foo;
printall(start->right);
}
Ошибка, которую дает мне Visual Studio, 0xCDCDCDCD on start
.Я понимаю, что проблема не в home
, а в start
, но я не понимаю, как исправить эту ошибку.Я читаю вокруг и могу предположить, что start
было брошено в кучу памяти, но не удалено.Я не думал, что это было возможно.И я также могу догадаться, что C ++ не знает, что такое start
и как его использовать, как бы я это исправить?