【发布时间】:2015-06-10 18:52:51
【问题描述】:
我的错误是关于 main 中的最后两个赋值语句。我试图通过让每个节点指向 2 个其他节点来创建一个基本树:左和右。我也尝试在创建它们时在 n1、n2 和 n3 前面添加 *,但这也不起作用......
#include <iostream>
#include <string.h>
using namespace std;
class Node{
public:
string value;
Node *left, *right;
public:
Node(string s, Node *l, Node *r){
value = s;
left = l;
right = r;
}
void display(){
cout << value << left->value << right->value;
}
};
int main(){
Node n1("this", NULL,NULL);
Node n2("is", NULL, NULL);
Node n3("next", NULL, NULL);
n1.left = n2;
n1.right = n3;
n1.display();
return 0;
}
【问题讨论】:
-
你试过n1.left = &n2;
-
@ivanw 太棒了!谢谢!你能告诉我*和&之间有什么区别吗?我认为他们都将它们作为指针或引用到内存位置......
-
& 返回 while * 的地址或声明一个指针。
-
另外,
public不用提两次。只是一些小事。 -
好的,谢谢你们 :)