こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

switch文caseについて

switchのcaseについてですが、数字を直接記述せずに、const変数に値を代入して使用出来ますか?

例)
const int A = 1;
const int B = 2;

switch(suuti){
case A:
処理;
break;
case B:
処理;
break;
}

コンパイルすると、「case 式は、整数型定数でなければなりません。」と出てきてしまうのですが、直接数値を記述しないといけないのでしょうか?
よろしくお願いします。

投稿日時 - 2008-10-24 14:55:27

QNo.4426105

困ってます

質問者が選んだベストアンサー

constにしたらコンパイラが怒るのは当然だと思う

constってなんぞや?からですね

投稿日時 - 2008-10-24 14:58:57

お礼

回答ありがとうございます。
私の間違いでした。
const変数で不変となる(定数として扱える)みたいで、
コンパイルできました。

ただ、回答者さんが言われている内容がよく分からないです・・・orz

もしよければ、なぜコンパイラが「constってなんぞや?」となるのか教えてください。

投稿日時 - 2008-10-24 15:04:12

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

#1です
あら?言葉足らずでしたね

>もしよければ、なぜコンパイラが「constってなんぞや?」となるのか教えてください。
コンパイラがじゃなくて質問者さん自身がconstしちゃうとどうなるかってことを思い出してくれれば。というヒントのつもりでした

結果どうしたかわかりませんが、私が何か間違えちゃいましたか?
だったらごめんなさい

投稿日時 - 2008-10-24 15:44:03

お礼

いえいえ、私が頭が悪くてごめんなさい・・・。
とりあえず当初の問題は解決したので、もう大丈夫です(笑)
回答ありがとうございました。

投稿日時 - 2008-10-24 15:47:57