Skip to main content

Errore del compilatore C0380

Messaggio: Gli operatori LOWER_BOUND e UPPER_BOUND sono supportati solo per array di lunghezza variabile.

Possibile causa dell'errore: uno dei due operatori LOWER_BOUND o UPPER_BOUND non viene utilizzato per un array di lunghezza variabile.

Correzione dell'errore: utilizza gli operatori LOWER_BOUND e UPPER_BOUND solo per un array di lunghezza variabile.

Suggerimento

Per la versione del compilatore 3.5.14.0 e successive, gli operatori possono essere utilizzati anche per gli array statici. Di conseguenza, l'errore C0380 si verifica solo nel caso di versioni precedenti del compilatore.

Esempio 473. Esempio dell'errore:
FUNCTION_BLOCK POU
VAR_IN_OUT
    arrin : ARRAY [*] OF INT;
END_VAR
VAR
    arrtest : ARRAY [0..5] OF INT;
    test1: DINT;
    test2: DINT;
END_VAR

test1 := UPPER_BOUND(arrin, 1);
test2 := UPPER_BOUND(arrtest, 1);

Messaggio:

C0380: Gli operatori LOWER_BOUND e UPPER_BOUND sono supportati solo per matrici di lunghezza variabile.