gpt4 book ai didi

c++ - 创建静态哨兵节点的正确方法是什么

转载 作者:行者123 更新时间:2023-11-28 04:39:33 24 4
gpt4 key购买 nike

我想要一个哨兵节点的单个实例,其他节点可以将其用作其构造函数的一部分。我试过了

struct Node;
static Node sentinel(0);
struct Node{
Node(int val): next(&sentinal), val(val) {}
Node *next;
int val;
};

int main() {
Node *node = new Node(42);
}

这行不通,因为

'Node sentinel' has initializer but incomplete type 

为多个值节点创建单个哨兵节点的正确方法是什么?

最佳答案

你可以让你的哨兵成为 Node 的静态成员。

struct Node{
Node(int val): next(&sentinel), val(val) {}
Node *next;
int val;
static Node sentinel;
};

Node Node::sentinel(0);

int main() {
Node *node = new Node(42);
}

关于c++ - 创建静态哨兵节点的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50544079/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com