你的struct node里的Person是个指针,所以必须:
p->Person=new Data;
如果这样:
Data Person; // 不是指针形式
就不用。
node *p;
p=new node;
Data *pStudent = new Data;
pStudent->name = "John";
pStudent->number = "23";
pStudent->age = 18;
p->Person = pStudent;
一般不着急做这步p->Person=new Data;
什么时候需要的时候在new这个数据成员,然后再赋值
c++和JAVA有些不同,你对C++的理解有问题。
你的意图看得很清楚,但是你的做法来自于JAVA