Генерация кода для констант в структурах и массивах
Генератор кода не распознает поля постоянной структуры или элементы массива в следующих случаях:
Поля или элементы назначаются внутри конструкций управления
В следующем коде генератор кода распознает, что поля структуры s.a и s.b являются постоянными.
Если какое-либо поле структуры назначено внутри конструкции управления, генератор кода не распознает постоянные поля. Это ограничение также относится к массивам с постоянными элементами. Примите во внимание следующий код:
Генератор кода не распознает, что s.a и s.b являются постоянными. Если параметризация включена, y рассматривается как массив переменного размера. Если параметр переменных отключен, генератор кода сообщает об ошибке.
Константы присваиваются элементам массива, использующим некалярное индексирование
В следующем коде генератор кода распознает, что a(1) является постоянным.
В следующем коде, потому что a(1) назначается с помощью некалярного индексирования, генератор кода не распознает, что a(1) является постоянным.
Функция возвращает структуру или массив, который имеет постоянные и неконстантные элементы
Для структуры output, которая имеет как постоянные, так и неконстантные поля, генератор кода не распознает постоянные поля. Это ограничение также относится к массивам, которые имеют постоянные и неконстантные элементы. Примите во внимание следующий код:
Потому что create_structure возвращает структуру s который имеет одно постоянное поле и одно неконстантное поле, генератор кода не распознает, что s.a является постоянным. The coder.const сбой вызова из-за s.a не является постоянным.