おおよそ次のようなコードがあります。
// Two enums that differ entirely.
enum A { a1, a2 };
enum B { b1, b2 };
// Functions to convert in some meaningful way between them
A convert(B);
B convert(A);
これで、コンパイラが実行され、期待どおりの処理が行われます。 convert(a1)
などを呼び出しますB convert(A)
。ただし、Lint を使用してコードを確認すると、エラー 31 が表示されます。これは、基になる列挙型の整数型が同じであるためと考えられ、Lint がそれらをそのように扱っている可能性があります。
私が持っている質問は、コード標準ですか、それともこれはコンパイラ機能の偶発的な使用ですか?