1

ここに示すコードの適応に取り組んでいますが、個々の値を使用する代わりに、可能な値の列挙を作成したいと考えています。

可能であれば、これをヘッダーファイルに保持したいと思います。また、次のような値を含めたいと思います...

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

今、列挙型の値を反復処理しようとしていますが、どうすればよいですか?

また、255 を超える値を格納できますか?

4

2 に答える 2

3

あなたができる最善のことは、すべての列挙値の静的な const 配列をどこかに作成し、それを反復処理することです。列挙型の値がすべて連続している場合は、それらを簡単に繰り返し処理できることは明らかですが、そうでない場合は運が悪いです。

于 2012-04-17T00:10:14.537 に答える
1

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

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

于 2012-04-17T01:07:54.177 に答える