我正在尝试在这样的typedef结构中声明一个数组:
typedef struct Node {
Node[] arr = new Node[25];
};
但是我收到一条错误,上面写着“预期的标识符”,并且说“a期待'';'。我做错了什么? 谢谢
答案 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];
};