函数想返回一个二维数组怎么做
大家好,请问下我想将一个二维数组作为函数的返回要怎么做?另外把二维数组作为函数参数有没有不给第二个长度,即Bin值的办法,因为函数Convolution中我想给arr的值和Bin一样,这样函数的参数要怎么写更好一些,我是新手,请大家指点下,谢谢!程序代码:
#include <iostream> #include <fstream> using namespace std; const int Run = 2; const int Bin = 2; int** Convolution(int arr,const int h[],int g[][Bin]); int main() { ifstream inFile; inFile.open("time.txt"); if(!inFile) { cerr<<"read time.txt fail"<<endl; return 1; } int Pulse[Run][Bin]; int value; inFile>>value; for(int i=0;i!=Run;i++) { for(int j=0;j!=Bin && inFile.good() ;j++) { Pulse[i][j]=value; inFile>>value; } } if(inFile.eof()) cout<<"End of the file"<<endl; inFile.close(); //convolution const int signal[Bin]={2,3}; int** conv=Convolution(Bin,signal,Pulse); cout<<*(*(conv+1)+1)<<endl; return 0; } int** Convolution(int arr,const int h[],int g[][Bin]) { int s[Run][2*Bin]; //这里我想定义一个二维数组,长度都是已知的,这样写可以吗 for(int i=0;i!=Run;i++) { for(int t=0;t!=2*arr;t++) { for(int n=0;n<=t;n++) s[i][t]+=g[i][n]*h[t-n]; } } return s; //请问下这个地方应该怎么写才能返回上面的二维数组 }