2012-04-17 7 views
1

私はhereというコードの適応を進めていますが、個々の値を使用する代わりに、可能な値の列挙を作成します。C/C++でenumを使用して作業する

私は、可能な場合、ヘッダーファイルでこれを維持したい、と私はそれが値に何かなどを含めたい...

enum Notes{ 
    NOTE_B0 = 31, 
    NOTE_C1 = 33, 
    NOTE_CS1 = 35 
}; 

は今、私はどのように、列挙型の値を反復処理するために探しています私はこれをするだろうか?

255以上の値を保存することもできますか?

+2

あなたのファイルの名前は 'helloworld.c'ですが、あなたはクラスについて話します。 C++またはCを使用していますか? –

+0

...エラーメッセージが表示されなくなりました。私は幻覚でしたか?編集ログが表示されないので... –

+0

@ RichardJ.RossIII:投稿後に5分のウィンドウが表示され、ログに記録せずに変更を加えることができます。 – GManNickG

答えて

3

あなたができることは、すべての列挙型の値の静的なconst配列をどこかに作成し、それを反復することです。列挙型の値がすべて連続していれば、明らかにそれらを簡単に反復することができますが、不足していることは不幸です。

+0

に付属しているバージョンを意味しています。 – twain249

+0

秩序が似ていない、単にユーザーがテキスト表現を送ることができるインターフェイスを単純化しようとしていて、それがメモ整数に変換されます。たとえば、AS3を渡し、AS3の数値表現が見つかるまで繰り返します – Jackie

1

基礎となる整数型に収まるすべての値を格納できます。 C++ 11では、基礎となる整数を指定できます。これを指定しないと、コンパイラはすべての値が収まるものを見つけようとします。

列挙型要素はコンパイル時の値なので、反復はできません。コンパイラが実行時にそれらを格納する必要はありません。

関連する問題