C ++ Linked List:另一个Node内的节点

时间:2013-11-19 02:38:23

标签: c++ list pointers linked-list nodes

是否可以指向另一个节点中的节点:

struct Node{
    Node my_Node;
    Node *next;
};

int main(){
    Node *practice = new Node;
    practice -> next = &(practice -> my_Node);

    return 0;
}

2 个答案:

答案 0 :(得分:1)

struct Node{
    Node my_Node; // this is not allowed
    Node *next;
};

因为在c或c ++中不允许创建不完整类型的变量。因为在那时编译器不知道Node类型是什么以及需要多少空间?

答案 1 :(得分:1)

您无法在Node内声明Node,首先它是不完整类型,其次需要无限空间才能允许{<1>}因为节点必须包含一个必须包含节点等的节点...... )这是不可能的。另一方面,您可以Node *内有Node