Skip to main content

コンパイラ警告 C0298

メッセージ: '<再帰メソッド名' から始まる再帰呼び出しのため、スタック使用量の計算が完了しませんでした。

考えられる原因: スタック使用量を判別できないため、再帰呼び出しのあるメソッドではスタック チェックを正常に実行できません。

エラー訂正: 使用 estimated-stack-usage メソッドにスタック サイズ要件の推定値 (バイト単位) を与える属性。

464. エラーの例:
METHOD PUBLIC m_Recursive : UDINT
    VAR_INPUT
            uiN : UINT;
    END_VAR
    VAR
    END_VAR
    m_Recursive := 1;
    IF      uiN > 1 THEN
            m_Recursive := uiN * THIS^.m_Recursive(uiN := (uiN - 1) );
            RETURN;
    ELSE
            RETURN;
    END_IF;

メッセージ:

C0298: 'm_Recursive' から始まる再帰呼び出しのため、スタック使用量の計算が不完全です

エラー訂正:

{attribute 'estimated-stack-usage' := '99'}


詳細については、以下を参照してください。 estimated-stack-usage