在函数中传递 2-Dimesional 数组时出错

errors in passing 2-Dimesional array in a function

本文关键字:数组 出错 2-Dimesional 函数      更新时间:2023-10-16
int *mergeKArrays(int arr[][n], int k)  <--[see below for errors at this line]
{
int *output=new int[n*k];
}

在上面的函数中,我没有在这里包含完整的定义,因为它对查找错误没有用。

主函数是这样的,我调用 mergeKArrays 函数。

int main()
{
  int arr[][n]={{2, 6, 12, 34},
                 {1, 9, 20, 1000},
                 {23, 34, 90, 2000}};
  int k = sizeof(arr)/sizeof(arr[0]);
  int *output = mergeKArrays(arr, k);
}

现在我得到的错误是在函数定义的线上是这样的。

error: 'n' was not declared in this scope.
error: expected ')' before ',' token
error: expected unqualified-id before 'int'

请原谅我,如果我问了一个微不足道的问题,但现在我无法弄清楚。

任何帮助将不胜感激。

此错误消息

错误:未在此范围内声明"n">

已经足够清楚了。编译器看不到 n 的声明。

考虑到数组的大小应是一个常量表达式。所以在你的代码中n应该被声明为一个常量对象。