Можно сгенерировать код для MATLAB® функций, которые содержат вложенные функции. Для примера можно сгенерировать код для функции parent_fun
, которая содержит вложенную функцию child_fun
.
function parent_fun x = 5; child_fun function child_fun x = x + 1; end end
Когда вы генерируете код для вложенных функций, необходимо придерживаться ограничений генерации кода для классов значений, массивов ячеек и классов handle. Вы также должны придерживаться следующих ограничений:
Если родительская функция объявляет постоянную переменную, она должна назначить постоянную переменную, прежде чем вызывать вложенную функцию, которая использует постоянную переменную.
Вложенная рекурсивная функция не может ссылаться на переменную, которую использует родительская функция.
Если вложенная функция ссылается на переменную структуры, необходимо задать структуру при помощи struct
.
Если вложенная функция использует переменную, заданную родительской функцией, вы не можете использовать coder.varsize
с переменной в родительской или вложенной функции.