这是我的代码:
int* mergeArrays(int* a, int m, int* b, int n)
{
int *c;
c = new int(m + n);
int i, j;
for (i = 0; i < m + n; i++)
c[i] = 0;
for (i = 0; i < m; i++)
c[i] = a[i];
cout << i;
for (j = 0; j < n; j++)
{
c[i] = b[j];
i++;
}
for (i = 0; i < m + n - 1; i++)
for (j = i + 1; j < m + n; j++)
if (c[i] > c[j])
swap(c[i], c[j]);
return c;
}
我在delete[]a
中使用main()
时出现错误 有谁知道如何解决这个问题?
答案 0 :(得分:0)
c = new int(m + n);
这会分配指向一个 int
的指针,并将其值初始化为m + n
。
你想要的是:
c = new int[m + n];