我正在尝试在 typedef 结构中声明一个数组,如下所示:
typedef struct Node {
Node[] arr = new Node[25];
};
但我收到一条错误消息,提示“需要一个标识符”,并且“需要一个‘;’”。我做错了什么? 谢谢
最佳答案
你可以这样做
struct Node {
static const int arr_size = 25;
Node* arr;
Node() { arr = new Node[arr_size]; }
~Node() { delete[] arr; }
};
您不允许在类中使用 initialzie non const int 变量;
你明白吗,创建一个节点变量会调用堆栈溢出? 每个节点包含 25 个节点,其中每个节点包含 25 个节点......等等
我想你想要这样的东西
struct Node {
static const int arr_size = 25;
Node* arr[arr_size];
};
关于c++ - 在 typedef 结构中声明一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43268669/