在 typedef 结构中声明一个数组

Declaring an array inside typedef struct

本文关键字:一个 数组 typedef 结构 声明      更新时间:2023-10-16

我试图在typedef结构中声明一个数组,如下所示:

typedef struct Node {
     Node[] arr = new Node[25];
};

但是我收到一个错误,说"期望一个标识符",而 arr"期望一个';'。我做错了什么?谢谢

你可以这样做

struct Node {
    static const int arr_size = 25;
    Node* arr;
    Node() { arr = new Node[arr_size]; }
    ~Node() { delete[] arr; }
};

您不允许在类中使用 initialzie non const int varizbles;


您是否了解创建节点变量将调用堆栈溢出?每个节点包含 25 个节点,其中每个节点包含 25 个节点...等


我想你想要这样的东西

struct Node {
    static const int arr_size = 25;
    Node* arr[arr_size];
};
相关文章: