0

私たちの共同作業の多くの場所で使用されている C++ ライブラリでは、定数値を定義するために、同じ lib 名前空間で誤って複数の列挙型を定義してしまいました。列挙型は別個の型ですが、別個の名前空間ではありません。結果として、すべての列挙値は同じ名前空間になります。これは、列挙型識別子の競合への扉を開いており、自動補完を使用する場合にも不便です。これを解決するために、異なる列挙型を個別の名前空間に移動することを検討しています。

このライブラリを使用してコードを簡単に進化させるために、古い列挙型識別子がコード内で見つかった場合に、コードの変更を示唆する「非推奨」の警告メッセージをコンパイル時に表示できるようにしたいと考えています。

次の質問と回答static_warning はありますか? 条件が満たされたときに非推奨の警告を定義する方法を提供します。列挙型識別子がユーザー コードに表示された場合、どうすれば同じ効果を得ることができますか?

4

1 に答える 1

1

Visual C++ を使用している場合は、#pragma deprecated.

GCC の場合、__attribute__変数または関数を非推奨としてマークするために使用される可能性のあるコンパイラ拡張機能があります。ただし、列挙については知りません。

于 2013-04-05T10:03:31.457 に答える