0

この関数で実行時にエラーが発生しました。

void pre_filter_Computations(double **radius,double **theta,int cols,int rows){

double x[cols],y[rows];
double X[cols][rows], Y[cols][rows];
double epsilon=0.0001;

 printf("Entering prefilter function\n");

 for(int i=0;i<cols*2;i++){
    x[i]=((double)(i-cols)/2/((double)cols/2;
 }
 ...

これを for ループに変更する必要がありました。プロジェクトを実行して変更する前に、関数に出入りします。しかし、ループでエラーが発生したため、それを変更する必要がありました。もう一度実行すると、関数に入ることができません。デバッグ 一時停止シグナル SIGSEGV があります: 印刷行で関数に入る前にセグマンテーション違反!

シータと半径について:

double** radius, **theta;

raidus=(double**)malloc(sizeof(double*)*rows);
 for(int i=0;i<rows;i++);
  radius[i]=(double*)malloc(sizeof(double)*cols);

theta=(double**)malloc(sizeof(double*)*rows);
 for(int z=0;z<rows;z++);
  theta[z]=(double*)malloc(sizeof(double)*cols);

誰かがエラーの場所を理解していますか?

4

0 に答える 0