注册 登录
编程论坛 C++教室

动态分配问题

Freiheit 发布于 2021-03-20 13:16, 1091 次点击
写了一个计数排序的算法?
    int* count_arr = new int(k+1); 一直报错,提示超出
换成 int* count_arr = (int*)malloc(sizeof(int) * (k + 1));  就可以了。
请问用new的话,应该怎么改?
1 回复
#2
rjsp2021-03-20 15:29
一直报错,提示超出
超出什么?你把编译器给的信息贴出来,k是什么类型,值是多少也贴出来。

换成 int* count_arr = (int*)malloc(sizeof(int) * (k + 1));  就可以了。
请问用new的话,应该怎么改?

换成new的话,对应的是 new int[k+1],不是 new int(k+1)
1