二叉树的结构(自引用结构)

Struct for binary tree (self referencing stucts)

我应该如何构造自引用结构?例如。二叉树? 我以为我应该像下面那样做,但它抛出 Segmentation fault: 11

import std.typecons;

struct Node {
    int value;
    NullableRef!Node left, right;
}

void main() {
    Node n;
}

How should I constructs a self-referencing struct? E.g. a binary tree? I assumed I should do it like below, but it throws Segmentation fault: 11

编译期间出现分段错误表示存在编译器错误。在这种情况下,它看起来像是 2.068 中引入的回归。我会一分为二并报告它,所以它应该在下一个版本中修复。在此之前,您可以降级到 DMD 2.067 或更早版本,不会出现此错误。

如果 NullableRef 的使用不是必须的,您现在可以简单地使用普通指针:

struct Node {
    int value;
    Node* left, right;
}

void main() {
    Node n;
}