は長い時間前に仮定し、私は次の列挙に作成していた:私は私の素晴らしいエンジン内でしばらく前にそれらを導入(2.0)
typedef enum
{
GeometricPoint,
GeometricLine,
GeometricSquare,
GeometricRectangle,
GeometricCircle
}GeometricFigures;
をし、今私は最終的に人々がGeometricRectangle
で既にカバーされているので、GeometricSquare
をもう使用してはならないと決めました。
typedef enum
{
GeometricPoint,
GeometricLine,
GeometricRectangle,
GeometricSquare = GeometricRectangle,
GeometricCircle
}GeometricFigures;
。したがって、近い将来にGeometricSquare
を完全に削除したいと考えています。私のエンジンのユーザーにそれを明らかにするために、GeometricSquare
を廃止予定としたいと思います。
私の目標は、ドキュメント(doxygen)とコード補完(Xcode)と最後のコンパイラ(GCC)は、ユーザにはGeometricSquare
がもう使用されず、 〜によってGeometricRectangle
。
ドキュメントについては、単に@deprecated
キーワードを使用します。
typedef enum
{
GeometricPoint,
GeometricLine,
GeometricRectangle,
///@deprecated Has been replaced by GeometricRectangle
GeometricSquare = GeometricRectangle,
GeometricCircle
}GeometricFigures;
しかし、XcodeとGCCについてはどうですか?
残念ながら、通常のGCC(メソッド)属性は機能していないようです。以下のように__attribute__((deprecated))
を追加すると、構文エラーが発生します。期待
typedef enum
{
GeometricPoint,
GeometricLine,
GeometricRectangle,
GeometricSquare = GeometricRectangle __attribute__((deprecated)),
解析の問題 }
GeometricCircle
}GeometricFigures;
だから、明らかにそのどちらか完全に動作しないか、私は単にそれが間違って使用しています。
可能重複[Cの++をenum値を廃止予定とマークしてください。](http://stackoverflow.com/questions/5488057/c-mark-enum-value-as-deprecated) – lpapp