C++中如何将一个二维数组的某一行作为一个函数的参数?

我有一个二维数组,想对其中的每一行做运算,是一个递归调用,所以想问怎样将二维数组的某一行作为参数传递到函数里?代码如下,是为完成的部分。
#include<iostream.h>
float benefit = 0;
void judge(float *all_project[])
{
for(int j = 1;j!=0;j++)
{
judge(*all_project[j]);
}
benefit = benefit+all_project[j][0];
}

void slove()
{
int N;
cin>>N;
float **all_project = new float*[N+1];
for(int i=0; i <=N; i++)
all_project[i] = new float[N]; //声明N+1行N列的数组

for(i = 0;i<=N;i++)
for(int j = 0;j<N;i++)
all_project[i][j] = 0; //数组全部初始化为0

int base_num = 0; //依赖项目的个数
for(i = 1;i<=N;i++)
{
cin>>all_project[i][0];
cin>>base_num;
for(int j = 0;j<base_num;i++)
{
cin>>all_project[i][j+1];
}
}
for(i = N;i>=1;i--)
{
judge(*all_project[N]);
}

}
void main()
{}

你的程序的具体目的我从你的文字中看不出来,所以程序我也不看了,要将二维数组的某一行作为参数传递到函数里,只要定义一个一维数组其长度是二维数组的列数,该一维数组的每个元素是二维数组的各行的首元素的地址。追问

能不能举个例子给我看一下,我上面是试图这样做,但是那个代码报错了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-26
你的算法中不需要递归,即使需要的话,你的递归也有问题。追问

是什么问题?

第2个回答  2012-05-30
定义一个数组函数,地址指向所需要的那一列