我有一个以下函数“ arrayMerger”,我想将两个数组的大小加起来,然后将其大小分配给另一个数组,但是由于“表达式必须具有恒定值”,因此出现了错误。有人可以解释为什么会发生此错误。
#include <iostream>
using namespace std;
void arrayMerger(int *arr1, int *arr2, int size1, int size2)
{
int size = size1 + size2;
int arr[size]; //Getting an error here
}
int main()
{
int arr1[] = { 7,2,9,1 };
int arr2[] = { 8,1,5,3,4,0 };
int size1 = sizeof(arr1) / sizeof(int);
int size2 = sizeof(arr2) / sizeof(int);
arrayMerger(arr1, arr2, size1, size2);
return 0;
}