ページ 11

enumの定義の仕方に関して

Posted: 2010年7月03日(土) 18:05
by NN
いつもお世話になっております。
超初歩的な質問ですが、「enumの定義の仕方」を教えていただければと思います。
まずは、参考ソースを載せていただきます。
int i ;

enum DEBUG_T{
    MENU0,
    MENU1,
    MENU2,
};
DEBUG_T DEBUG;

switch ( i ){
    case DEBUG.MENU0 :
        break;
    case DEBUG.MENU1 :
        break;
    case DEBUG.MENU2 :
        break;
}
上記のソースでコンパイルを行うと

'.Menu0' の左側はクラス、構造体、共用体でなければなりません
'.Menu1' の左側はクラス、構造体、共用体でなければなりません
'.Menu2' の左側はクラス、構造体、共用体でなければなりません

とコンパイルエラーが起こってしまいます。
いかんせん初めてenumを使うので、色々とググッてみても
ググり方が悪いのか、正答を得ることができませんでした。

非常に初歩的な質問で恐縮なのですが、
ご教授のほどよろしくお願いいたします。

Re:enumの定義の仕方に関して

Posted: 2010年7月03日(土) 18:13
by たかぎ
言語は何でしょうか?

Re:enumの定義の仕方に関して

Posted: 2010年7月03日(土) 18:17
by シエル
この辺がわかりやすいかと。
http://www.geocities.jp/ky_webid/c/046.html

Re:enumの定義の仕方に関して

Posted: 2010年7月03日(土) 18:27
by NN
いつもお世話になっております。

>たかぎ様
C++です。言語によって、定義の仕方が異なるのですね。。。

>シエル様
さきほどもそのページを見て研究してたつもりですが、
再度よく見直したら、解決しました。

結局は以下のように変更しました。
int i ;

enum DEBUG_T{
    MENU0,
    MENU1,
    MENU2,
};

switch ( i ){
    case MENU0 :
        break;
    case MENU1 :
        break;
    case MENU2 :
        break;
}
以上となります。
ご教授いただき誠にありがとうございました。

Re:enumの定義の仕方に関して

Posted: 2010年7月03日(土) 18:27
by たかぎ
> 言語によって、定義の仕方が異なるのですね。。。

どの言語でも書き方が同じであれば、別の言語である必然性がありませんね。

Re:enumの定義の仕方に関して

Posted: 2010年7月05日(月) 10:13
by toyo
列挙型変数の定義なら
enum DEBUG_T i;
/* */
switch ( i ){
case MENU0 :
break;
case MENU1 :
break;
case MENU2 :
break;
}

のように使うのでは