c++ - 在 typedef 结构中声明一个数组

标签 c++ arrays

我正在尝试在 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/

相关文章:

c++ - 如何错误处理命令行参数?

c++ - 如何在 Microsoft C++ 中打印其他语言字符?

c++ - Cocos2d-x V3.2。使用 RenderTexture 创建 Sprite

javascript - 如何在 MongoDB 中将字符串转换为数组?

java - 如何为多个JLabel[]添加鼠标监听器

c++ - 如何等待 Glib::Dispatcher 的连接函数完成?

java - 获取音频输出设备(扬声器、耳机)的 GUID

c - 在 C 中求和并查找数组的非零项

arrays - 移动 Firebase 数组中的项目

java - Arrays.stream(array) 与 Arrays.asList(array).stream()