在 C++ 中通过引用传递未知大小的数组

use*_*130 1 c++ arrays merge

我有 4 个排序的整数数组,我试图将它们合并成一个巨大的排序数组。

我将 A 和 B 合并在一起,这给了我另一个名为 X 的 int 数组然后我将 C 和 D 合并在一起,这给了我另一个名为 Y 的 int 数组最后我将 X 和 Y 合并在一起得到 Z,这是最终产品。

合并函数每次都完全相同,只是将结果存储到我想通过引用传入的不同数组中。

我想做这样的事情:

void mergeSort(int arr1[], int arr2, int &result[]){
    ...
}
Run Code Online (Sandbox Code Playgroud)

但是我收到错误“不允许引用数组”。做这个的最好方式是什么?

hiv*_*ert 5

在 C++ 中通过引用传递数组的语法是

int (&result)[size]
Run Code Online (Sandbox Code Playgroud)

请注意,您需要知道size在编译时。这可能不是您想要在这里做的,我建议使用vector<int>.