Advertencia del compilador C0298
Mensaje: Cálculo del uso de la pila incompleto debido a llamadas recursivas, que comienzan en '<nombre del método recursivo'.
Causa posible: La verificación de la pila no se puede realizar correctamente para métodos con una llamada recursiva porque no se puede determinar el uso de la pila.
Error de corrección: Utilizar el estimated-stack-usage
atributo para darle al método un valor estimado (en bytes) para el requisito de tamaño de pila.
ejemplo 464. Ejemplo del error:
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;
Mensaje:
C0298: Cálculo del uso de la pila incompleto debido a llamadas recursivas, comenzando en 'm_Recursive'
Error de corrección:
{attribute 'estimated-stack-usage' := '99'}
Para más información, ver: estimated-stack-usage