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);
}
그리고 비주얼 스튜디오는 X + K와 Y + k는 무효 나에게 말하고있다. 원래의 C 코드는 Visual C++ Express 2010에서 컴파일되어 제대로 작동합니다. 대소 문자 x와 y 변수 사이에 혼란이 있다고 생각하지 않습니다. 만약 그렇다면 코드는 완전한 행운으로 작동합니다.
아이디어가 있으십니까?
어디에서 k가 무엇인지 보여 줬습니까? 아니면 x 또는 y ... –