在typedef结构中声明一个数组

时间:2017-04-07 02:25:41

标签: c++ arrays

我正在尝试在这样的typedef结构中声明一个数组:

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

但是我收到一条错误,上面写着“预期的标识符”,并且说“a期待'';'。我做错了什么? 谢谢

1 个答案:

答案 0 :(得分:1)

你可以这样做

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

你不允许在类中使用initialzie非const int变量;

并且您明白,创建节点变量会调用堆栈溢出吗? 每个节点包含25个节点,其中每个节点包含25个节点......等等

我想你想要这样的东西

struct Node {
    static const int arr_size = 25;
    Node* arr[arr_size];
};