【发布时间】:2013-12-02 10:43:36
【问题描述】:
是否可以在另一个节点中指向一个节点:
struct Node{
Node my_Node;
Node *next;
};
int main(){
Node *practice = new Node;
practice -> next = &(practice -> my_Node);
return 0;
}
【问题讨论】:
-
此代码错误。您不能在自身内部声明节点(即 my_Node)
-
我可以使用 typedef 来避免这种情况吗?
-
我认为没有。在结构/类中,你只能声明一个指向结构/类本身的指针。
-
你认为你为什么需要这个?你认为它会解决什么问题?见:The XY problem
-
出于不切实际的原因。我只是想知道如果发生这种情况,c++ 会做什么。有没有其他方法可以在类中拥有无限的类序列?
标签: c++ list pointers linked-list nodes