c++调试错误
良仔 2011-05-06 09:54:40 /BiTree.h
#ifndef BITREE_H
#define BITREE_H
const int ok = 1;
const int error =-1;
typedef struct Node
{
char date;
Node *lchild,*rchild;
}*TreeNode;
class BiTree
{
public:
BiTree();
~BiTree();
TreeNode CreatBiTree(TreeNode root);
void PreOrder(TreeNode root);
};
#endif
//BiTree.cpp
#include<iostream.h>
#include<stdio.h>
#include"BiTree.h"
BiTree::BiTree(){};
BiTree::~BiTree(){};
TreeNode BiTree::CreatBiTree(TreeNode root)
{
char ch;
ch = getchar();
if(ch == '^')
root = NULL;
else
{
root = new Node;
root->date = ch;
CreatBiTree(root->lchild);
CreatBiTree(root->rchild);
}
return root;
}
void BiTree::PreOrder(TreeNode root)
{
if(root != NULL)
{
cout<<root->date<<endl;
PreOrder(root->lchild);
PreOrder(root->rchild);
}
}
编译,链接都没问题,调试跟踪时在cout<<root->date<<endl;
发现这个错误First-chance exception in BiTree.exe: 0xC0000005: Access Violation.
有人说是因为root->lchild和root->rchild是野指针,如果是,怎么改正。求解。