编译器警告 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'}
有关详细信息,请参阅:For more information, see: estimated-stack-usage