cjwddxlb
2018-04-24 15:02
采纳率: 100%
浏览 1.4k

c++声明结构体动态数组的问题

struct ListNode {
int val;
ListNode next;
ListNode(int x) : val(x), next(NULL) {}
};
然后我想达成的效果是
ListNode
p = new ListNodek;

就是说申请一个k(变量)维的数组,然后都初始化成0.
不改变结构体声明的情况下能做到吗?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • threenewbee 2018-04-24 15:10
    已采纳
     template<int N>
    class ListNode<N>{
        int arr[N];
    };
    使用
    ListNode<2> p = new ListNode<2>;
    

    用C++模板理论上可以生成任意的程序,给你一本书,好好学吧。
    https://download.csdn.net/download/yinxing408033943/4341621

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • threenewbee 2018-04-24 15:11
    评论
    解决 无用
    打赏 举报
  • qq_21822047 2018-04-24 16:48

    申明一个默认构造函数,初始化为0就可以了

    评论
    解决 无用
    打赏 举报
  • EccHoo 2018-04-25 03:18

    大兄dei,很简单啦 构造的时候给x默认参数就好了呀

    struct ListNode {
    int val;
    ListNode next;
    ListNode(int x=0) : val(x), next(NULL) {}
    };

    比如:
    int k=10;
    ListNode *p = new LIstNode[k]

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题