Я застрял на рекурсивной функции в коде 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 с таким именем, так что это не проблема перегрузки.Когда он рекурсивно вызывает себя, он добавляет k в массивы X и Y.Помещение в 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 верхнего и нижнего регистра соответственно.Если так и было, код работает по счастливой случайности.
Есть идеи?