Определение переменных для генерации кода

На языке MATLAB® переменные могут изменить свои свойства динамически во время выполнения, таким образом, можно использовать ту же переменную, чтобы содержать значение любого класса, размера или сложности. Например, следующий код работает в MATLAB:

function x = foo(c) %#codegen
if(c>0)
  x = 0;
else
  x = [1 2 3];
end
disp(x);
end 

Однако статически типизированные языки как C должны смочь определить переменные свойства во время компиляции. Поэтому для генерации кода C/C++, необходимо явным образом задать класс, размер и сложность переменных в исходном коде MATLAB перед использованием их. Например, перепишите вышеупомянутый исходный код с определением для x:

function x = foo(c) %#codegen
x = zeros(1,3);
if(c>0)
  x = 0;
else
  x = [1 2 3];
end
disp(x);
end 

Для получения дополнительной информации смотрите Лучшые практики для Определения Переменных для Генерации кода C/C++.