matlab simulinkでs-functionブロックを作成しようとしています。これが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以外のタイプのローカル変数を関数内で定義することはできません。静的変数を上部で使用すると、正常に機能します。通常の変数の問題は何でしょうか。