enumの定義の仕方に関して

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
NN

enumの定義の仕方に関して

#1

投稿記事 by NN » 15年前

いつもお世話になっております。
超初歩的な質問ですが、「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の定義の仕方に関して

#2

投稿記事 by たかぎ » 15年前

言語は何でしょうか?


NN

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

#4

投稿記事 by NN » 15年前

いつもお世話になっております。

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

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

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

enum DEBUG_T{
    MENU0,
    MENU1,
    MENU2,
};

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

たかぎ

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

#5

投稿記事 by たかぎ » 15年前

> 言語によって、定義の仕方が異なるのですね。。。

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

toyo

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

#6

投稿記事 by toyo » 15年前

列挙型変数の定義なら
enum DEBUG_T i;
/* */
switch ( i ){
case MENU0 :
break;
case MENU1 :
break;
case MENU2 :
break;
}

のように使うのでは

閉鎖

“C言語何でも質問掲示板” へ戻る