Когда проверки целостности памяти включены, если генератор кода обнаруживает, что переменная цикла может переполниться на последней итерации for
- цикл, это сообщает об ошибке.
Чтобы избежать этой ошибки, используйте обходные решения, обеспеченные в следующей таблице.
Условия цикла, вызывающие ошибку | Работа вокруг |
---|---|
| Перепишите цикл так, чтобы значение конца не было равно максимальному значению целого типа. Например, замена: N=intmax('int16') for k=N-10:N for k=1:10 |
| Перепишите цикл так, чтобы значение конца не было равно минимальному значению целого типа. Например, замена: N=intmin('int32') for k=N+10:-1:N for k=10:-1:1 |
Цикл покрывает полный спектр целого типа. | Перепишите цикл, бросив тип счетчика цикла, запускаются, продвигаются, и значения конца к большему целому числу или удвоиться, Например, переписать: M= intmin('int16'); N= intmax('int16'); for k=M:N % Loop body end M= intmin('int16'); N= intmax('int16'); for k=int32(M):int32(N) % Loop body end |
ПримечаниеПроверка программной ошибки консервативна. Это может неправильно сообщить о цикле, как являющемся потенциально бесконечным. | Перепишите цикл так, чтобы переменная цикла на последней итерации цикла была равна в конец значение. |