Код: Выделить всё
State MoveForward(in Path path);
Код: Выделить всё
Path
Код: Выделить всё
State
Теперь у меня есть еще одна вспомогательная функция
Код: Выделить всё
bool TryMoveForward(in Path path, ref State state)
{
// which does something like:
var result = MoveForward(path); // "line A"
return !result.IsEnd(); // IsEnd determined by integer != -1
}
Но я думаю, что этого не должно быть, или, по крайней мере, компилятор может быть достаточно умен, чтобы избежать выдачи этой ошибки по нескольким причинам:
[*]Государство создается просто с целыми числами (компилятор может проверить использование пути). Из "path" нет ссылок.
[*]"State" — это ссылочная структура, которая не содержит никаких "ref", с помощью которых можно было бы выйти.
Как сделать так, чтобы компилятор не жаловался на это?
Подробнее здесь: https://stackoverflow.com/questions/791 ... -parameter