【发布时间】:2016-01-30 05:57:38
【问题描述】:
我想知道是否有办法说将 double MyArray[][2] = {{0.1,0.8},{0.4,0.6}} 传递给类似 void MyFunction(double myArray[][]); 这样的函数,而不是说 void MyFunction(double myArray[][2]);。我需要这个,因为我希望我的函数能够处理具有不同内部尺寸的数组,例如:double MyArray[][3] = {{0.1,0.8},{0.4,0.6},{0.3,0.9}}。据我所知,要将其传递给函数,我必须将 MyFunctions 的参数更改为 MyFunction(myArray[][3]);。从我读过的内容来看,我不知道这是否可能,所以如果不是,那么还有其他方法吗?
【问题讨论】:
-
可以选择使用
std::vector<std::vector<double> >吗? -
任何可以使这项工作按我想要的方式工作的方法都是一种选择。所以我想是的。
-
C++ 模板就是答案。如果没有模板,你可以只传递
double ** MyArray,但是你需要小心,因为函数不知道数组有多大。
标签: c++ arrays function multidimensional-array