开发者社区> 问答> 正文

c++ 二叉树 access violation?链表不也是这样的吗?为什么以下代码会出错

#include
using namespace std;
class binary_tree_node
{
public:
    binary_tree_node(const int& init_data = int(),binary_tree_node*init_left=NULL,binary_tree_node* init_right=NULL)
    {
        data_field = init_data;
        left_field = init_left;
        right_field = init_right;
    }
    int& data(){return data_field;}
    binary_tree_node* left(){return left_field;}
    binary_tree_node* right(){return right_field;}
    void set_data(const int& new_data){data_field=new_data;}
    void set_left(binary_tree_node* new_left){left_field=new_left;}
    void set_right(binary_tree_node* new_right){right_field=new_right;}
    const int& data() const {return data_field;}
    const binary_tree_node* left() const{return left_field;} 
    const binary_tree_node* right() const{return right_field;} 
    bool is_leaf()const{return (left_field==NULL)&&(right_field==NULL);}
    bool is_left()const{return (left_field==NULL);}
    bool is_right()const{return (right_field==NULL);}
    private:
    int data_field;
    binary_tree_node* left_field;
    binary_tree_node* right_field;
};
void main()
{
binary_tree_node* p;
cout<is_leaf()<<endl;
}

c++ 二叉树 access violation?链表不也是这样的吗?为什么以下代码会出错

展开
收起
a123456678 2016-03-06 09:58:13 2225 0
1 条回答
写回答
取消 提交回答
  • screenshot
    你在主函数中只声明了一个指针,系统不会分配内内存的,直接输出叶子节点要出错的。

    2019-07-17 18:54:04
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
使用C++11开发PHP7扩展 立即下载
GPON Class C++ SFP O;T Transce 立即下载
GPON Class C++ SFP OLT Transce 立即下载