コンパイラ警告 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) との比較