私はCコードの再帰関数に固執しています(私はCコードを書きませんでした)。ここに私が変換しているスニペットがあります:CからC#へのコード変換 - パラメータとしての配列
int makeroad(float x1, float y1, float x2, float y2, float var, float X[], float Y[], float prec)
{
//stuff
k+=makeroad(x,y,x2,y2,var,X+k,Y+k,prec);
}
私はこれが何をしているのかよく分かりません。これは、その名前を持つCコード内の唯一の関数なので、オーバーロードの問題ではありません。再帰的に自分自身を呼び出すときは、XとY配列にkを追加します。 C#でそれを置くと、次のようになります
int makeroad (float x1, float y1, float x2, float y2, float var, float[] X, float[] Y, float prec)
{
//stuff
k += makeroad(x, y, x2, y2, var, X + k, Y + k, prec);
}
およびVisual Studioは、X + KとY + kが無効であることを私に語っています。元のCコードは、Visual C++ Express 2010でコンパイルされて正常に動作します。大文字と小文字のxとy変数が混同しているとは思われません。それがあった場合、コードは幸運で働いています。
アイデア?
ここで、kは何ですか?またはxまたはy ... –