Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
二叉树节点成员分配的运行时错误 我写了一个C++程序,实现了二叉搜索树(BST)< /C>。因此,我开始将二叉树节点作为结构实现。由于二叉树节点包含两个指向其他二叉树节点的指针,因此结构包含指向该结构类型变量的指针。为此,我理解需要结构的前向声明。我已经做到了。然而,下面的简单程序出现了一个运行时错误,它只为所述结构的一个成员赋值。我不明白为什么。请告诉我原因 #include <iostream> using namespace std; struct t_node; struct t_node { int data; t_node* left; t_node* right; }; int main() { t_node *root; root->data = 2; cin.get(); return 0; } #包括 使用名称空间std; 结构t_节点; 结构t_节点 { int数据; t_节点*左; t_节点*右; }; int main() { t_节点*根; 根->数据=2; cin.get(); 返回0; }_C++_Struct_Binary Tree_Nodes - Fatal编程技术网

二叉树节点成员分配的运行时错误 我写了一个C++程序,实现了二叉搜索树(BST)< /C>。因此,我开始将二叉树节点作为结构实现。由于二叉树节点包含两个指向其他二叉树节点的指针,因此结构包含指向该结构类型变量的指针。为此,我理解需要结构的前向声明。我已经做到了。然而,下面的简单程序出现了一个运行时错误,它只为所述结构的一个成员赋值。我不明白为什么。请告诉我原因 #include <iostream> using namespace std; struct t_node; struct t_node { int data; t_node* left; t_node* right; }; int main() { t_node *root; root->data = 2; cin.get(); return 0; } #包括 使用名称空间std; 结构t_节点; 结构t_节点 { int数据; t_节点*左; t_节点*右; }; int main() { t_节点*根; 根->数据=2; cin.get(); 返回0; }

二叉树节点成员分配的运行时错误 我写了一个C++程序,实现了二叉搜索树(BST)< /C>。因此,我开始将二叉树节点作为结构实现。由于二叉树节点包含两个指向其他二叉树节点的指针,因此结构包含指向该结构类型变量的指针。为此,我理解需要结构的前向声明。我已经做到了。然而,下面的简单程序出现了一个运行时错误,它只为所述结构的一个成员赋值。我不明白为什么。请告诉我原因 #include <iostream> using namespace std; struct t_node; struct t_node { int data; t_node* left; t_node* right; }; int main() { t_node *root; root->data = 2; cin.get(); return 0; } #包括 使用名称空间std; 结构t_节点; 结构t_节点 { int数据; t_节点*左; t_节点*右; }; int main() { t_节点*根; 根->数据=2; cin.get(); 返回0; },c++,struct,binary-tree,nodes,C++,Struct,Binary Tree,Nodes,我使用的是Dev-C++4.9.9.2 谢谢 您需要为节点分配内存。使用新建: t_node* root = new t_node(); 这很糟糕。您正在解除未初始化指针的锁定 t_node *root = new t_node; root->data = 2 将为您的节点分配内存,并解决您的问题 t_node *root = new t_node; root->data = 2

我使用的是
Dev-C++4.9.9.2


谢谢

您需要为节点分配内存。使用
新建

t_node* root = new t_node();
这很糟糕。您正在解除未初始化指针的锁定

t_node *root = new t_node;
root->data = 2
将为您的节点分配内存,并解决您的问题

t_node *root = new t_node;
root->data = 2