• 締切済み

enum定義二つを常に同期させる方法を教えてください。

実際疑問に思ったきっかけはBREWプログラミングなのですが、 基本的なプログラミングのノウハウとして回答を頂ければと思います。 前提として層が3層あり、以下のenum定義があるとします。 (アプリ層は必ず中間層を通してハード層へ要求をかけます。) 1.アプリ層 2.中間層(ハード層のラッパー関数)  typedef enum _MidSound {   MIDSOUND1 = 1,   …   MIDSOUND5,  } MidSound; 3.ハード層  typedef enum _HardSound {   HARDSOUND1 = 1,   …   HARDSOUND5, } HardSound; アプリは音の大きさを5段階で指定する事が出来るのですが、 ハード層の定義は使用しないのが基本だと思います。 しかし、今の実装のままではハード層の定義が 10段階になった場合、中間層を手作業で直さなくてはなりません。 これを解決させる為には中間層をどのような実装にすれば良いのでしょうか。 typedefかとも考えたのですが、どうも納得出来なかったため 出来れば仕組みも教えて頂ければ幸いです。

みんなの回答

  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.1

たとえばmid層では0~100の100分率で音量を定義するとか、あるいは0~1.0の浮動小数点数で音量を定義したらどうですか。 物理的な音量の段階をそもそも隠蔽してしまうわけです。

関連するQ&A

専門家に質問してみよう