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