Skip to main content

Error del compilador C0186

Mensaje: No es posible comparar la interfaz que es el valor de retorno de la llamada. Asigne a la variable primero.

Posible causa de error: Se aplica una operación de comparación a una interfaz devuelta por una función.

Error de corrección: Primero asigne el resultado de la llamada de función a una variable y luego compare el valor de la variable. Esto también reducirá el número de llamadas de función que se requieren.

ejemplo 420. Ejemplo del error:
INTERFACE MyInterface

FUNCTION GetInterface : MyInterface

PROGRAM PLC_PRG
IF GetInterface() <> 0 THEN
    // ...
END_IF

Mensaje:

C0186: No es posible comparar la interfaz que es el valor de retorno de la llamada. Asigne a la variable primero.

Error de corrección:

PROGRAM PLC_PRG
VAR_TEMP
    tempInterface : MyInterface;
END_VAR
tempInterface := GetInterface();
IF tempInterface <> 0 THEN
    // ...
END_IF