Compiler Warning C0298
Message: Calculation of stack usage incomplete because of recursive calls, starting at '<recursive method name'.
Possible cause: The stack check cannot be performed successfully for methods with a recursive call because the stack usage cannot be determined.
Error correction: Use the estimated-stack-usage attribute to give the method an estimated value (in bytes) for the stack size requirement.
Example 469. Example of the 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;Message:
C0298: Calculation of stack usage incomplete because of recursive calls, starting at 'm_Recursive'
Error correction:
{attribute 'estimated-stack-usage' := '99'}For more information, see: estimated-stack-usage