.

编译器错误 C0186

.
.

消息:无法比较作为调用返回值的接口。首先分配给变量。

可能的错误原因: 比较操作应用于函数返回的接口。

错误更正: 首先将函数调用的结果分配给一个变量,然后比较该变量的值。这也将减少所需的函数调用次数。

.

.错误范例:

INTERFACE MyInterface

FUNCTION GetInterface : MyInterface

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

--> C0186: 无法比较作为调用返回值的接口。首先分配给变量。
 

.错误更正:

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