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 469. 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