我一直在试图传递一个未知大小的多维数组,给一个函数,到目前为止有没有运气,数组声明时,它的尺寸是变量:将多维数组传递给函数(C++)?
double a[b][b];
据正如我所知道的,当我声明函数时,我需要给出b的值,a可能是未知的。我试图将b声明为全局变量,但它表示它必须是常量。
即:
int b;
double myfunction(array[][b])
{
}
int main()
{
int a;
double c;
double myarray[a][b];
c=myfunction(myarray);
return 0;
}
有没有办法得到这个工作?
不是很漂亮,但你不只是传入第一个元素的指针? – Chris 2012-07-25 17:33:09
'std :: vector'让生活变得如此简单。 – chris 2012-07-25 17:34:02
如果尺寸是可变的,则使用'std :: vector'或'boost :: multiarray'。 – 2012-07-25 17:34:15