编译器警告 C0298
信息:由于从“<递归方法名称>”开始的递归调用,堆栈使用量的计算不完整。
可能的原因:对于具有递归调用的方法,无法成功执行堆栈检查,因为无法确定堆栈的使用情况。
纠错: 使用 estimated-stack-usage 属性为方法提供堆栈大小要求的估计值(以字节为单位)。
例 469. 错误示例:
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