C++ 将多维数组传递给函数
我想将多维数组传递给函数。问题是数组的大小只有在运行时才知道。我知道“内部数组”的大小。未知大小是“外部”数组的大小 我尝试通过将未知大小指定为int类型的变量来传递函数原型中的数组,但这导致了一个错误。 我的函数原型如下所示:C++ 将多维数组传递给函数,c++,multidimensional-array,C++,Multidimensional Array,我想将多维数组传递给函数。问题是数组的大小只有在运行时才知道。我知道“内部数组”的大小。未知大小是“外部”数组的大小 我尝试通过将未知大小指定为int类型的变量来传递函数原型中的数组,但这导致了一个错误。 我的函数原型如下所示: float get_basket(float basket[number][5]); 上面的number是int类型的全局变量 如果在运行时应该知道数组的大小,那么最好使用vector,或者至少应该通过指针动态构建数组 对于函数参数,您可以将其传递为: float g
float get_basket(float basket[number][5]);
上面的
number
是int
类型的全局变量 如果在运行时应该知道数组的大小,那么最好使用vector,或者至少应该通过指针动态构建数组
对于函数参数,您可以将其传递为:
float get_basket(int basket[][5]);
或
将其作为双指针传递。为安全起见,可以将尺寸作为额外参数传递。类似于函数原型中的
int**myarray…
,编译器可能正试图在应该具有类型规范的位置取消引用指针。请使用std::vector
。使用std::vector
。使用std::vector
。使用std::vector
。我已经提到使用std::vector了吗?不你真的,真的,真的应该使用std::vector
。
float get_basket(int **basket);