3

すでに同じ質問をしている人がいるかどうかはわかりませんが、[c] [マクロ] "##" を使用した高度な検索では見つかりませんでした。

次のように複数のマクロを定義したい:

#define CHANNEL_0  0
#define CHANNEL_1  1
...
#define CHANNEL_31 31

この記号 ## を使用して簡単な方法で実行できますか? そしてどうやって?それとも、いくつかの方法がありますか?

ありがとう!

4

1 に答える 1

3

ここで「##」が最善の解決策であるとは思いません。enumを使用しないのはなぜですか?0 から 31 までの数字だけが必要な場合に使用できない理由はありません。

enum eChannel {
    Channel0, /* evaluates to 0 */
    Channel1, /* evaluates to 1 */
    ...
    Channel31 /* evaluates to 31 */
};

使用方法は#definesと同じです。

if(channel == Channel1) do_smth();
于 2013-01-30T10:02:58.040 に答える