Avviso del compilatore C0298
Messaggio: Calcolo dell'utilizzo dello stack incompleto a causa di chiamate ricorsive, a partire da "<nome metodo ricorsivo".
Causa possibile: Il controllo dello stack non può essere eseguito correttamente per i metodi con una chiamata ricorsiva perché non è possibile determinare l'utilizzo dello stack.
Correzione dell'errore: Usa il estimated-stack-usage
per fornire al metodo un valore stimato (in byte) per il requisito della dimensione dello stack.
Esempio 464. Esempio dell'errore:
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;
Messaggio:
C0298: Calcolo dell'utilizzo dello stack incompleto a causa di chiamate ricorsive, a partire da 'm_Recursive'
Correzione dell'errore:
{attribute 'estimated-stack-usage' := '99'}
Per ulteriori informazioni, vedere: estimated-stack-usage