编译器警告 C0354
信息: 一种枚举类型(<类型名 1>) 与另一种枚举类型(<类型名 2>) 的比较
可能的错误原因:枚举类型用于比较运算符。
错误更正:
使用预定义的整数数据类型(例如:
INT
) 而不是程序代码中的枚举类型。将枚举变量的值复制到辅助变量中(示例:
INT
变量)并在比较运算符中使用辅助变量。
例 468. 警告示例
{attribute 'qualified_only'} {attribute 'strict'} TYPE ENUM1: ( enum_member1 := 0, enum_member2 := 1 ); END_TYPE {attribute 'qualified_only'} {attribute 'strict'} TYPE ENUM2: ( enum_member := 0 ); END_TYPE PROGRAM PLC_PRG VAR enum1 : ENUM1; enum2 : ENUM2; i:INT; END_VAR enum1 := 0; enum2 := 0; IF enum1 > enum2 THEN i := 1; END_IF;
这个 IF
语句生成以下警告。
消息:
C0354:一种枚举类型 (ENUM1) 与另一种枚举类型 (ENUM2) 的比较