Microsoft Visual Studio 2010 を使用して C コードを記述しています。これは私が定義したコードです:
#define setImagVal_Matrix(matrix,type,x,y,val) \
(getImagVal_Matrix(matrix,type,x,y) = (val))
次に、この関数内で使用しています:
for(bands=0; bands < no_of_bands; bands++) {
outputmatrix[bands] = new_Matrix(yrange,xrange,getDataType_Image(inputImage),getDataFormat_Image(inputImage));
for(r=0; r < no_of_rows; r++) {
for(c=0; c < no_of_cols; c++) {
if(c<x1 || c>x2 || r<y1 || r>y2)
{
continue;
}
else
{
setImagVal_Matrix(outputmatrix[bands],getDataType_Matrix(outputmatrix[bands]),c-x1,r-y1,123);
}
}
}
}
ただし、 setImagVal_Matrix 関数呼び出しでこのエラーが表示されます:
「エラー:式が必要です」
そして、ソリューションをビルドすると、同じ行に構文エラーを示す出力が表示されます:
1>c:\cviplab-net-2010\cviplab\crop.c(50): error C2059: syntax error : ')'
数時間費やした後、私はまだエラーの原因を見つけることができません. それを修正する方法はありますか?
編集:
前処理されたファイルを分析したところ、構文エラーが見つかりましたが、それでも修正方法がわかりません。エラーが発生する行は次のとおりです
((((((outputmatrix[bands])->data_type) **)((outputmatrix[bands])->iptr))[r-y1][c-x1]) = (123));
。エラーは)
後のものです**