重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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

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

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

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

A 回答 (2件)

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



constってなんぞや?からですね
    • good
    • 0
この回答へのお礼

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

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

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

お礼日時:2008/10/24 15:04

#1です


あら?言葉足らずでしたね

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

結果どうしたかわかりませんが、私が何か間違えちゃいましたか?
だったらごめんなさい
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/10/24 15:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!