我正在尝试在matlab中创建一个s-function块simulink.Here是mdlOutput函数。当我在
中定义局部变量时,我给出了一个错误//////
static void mdlOutputs(SimStruct *S, int_T tid)
{
real_T *y = ssGetOutputPortRealSignal(S,0);// no error
real_T *x = ssGetContStates(S);//no error
UNUSED_ARG(tid);
real_T *a;// error:missing ';' before 'type'
real_T *b=5.0//error: illegal use of this type as an expression
}
不仅仅是real_T,我不能在函数中定义任何类型的局部变量,除了已经在模板中定义的y和x之外。在顶部使用静态变量工作正常。可能是正常变量的问题?
答案 0 :(得分:0)
我明白了。我必须在UNUSED_ARG(tid)命令之前定义变量