トップ  >  リファレンス  >  基本  >  データ型  >  整数型  > 列挙型[enum]
スポンサーリンク
検索
カスタム検索
リファレンスツリー
オススメ

天才数学者のエドワード・オークリー・ソープの物語とジョン・ケリーの公式は必見です。
列挙型[enum]


列挙型(enum)は定数リストを定義する事が出来ます。
定数のリストはそれそれ定数名をカンマ(,)で区切って指定します。


書式:
enum 列挙名 {
    定数リスト1,
    定数リスト2,
    ・・・
};




enumによって宣言された定数リストは4byteサイズのデータになります。

列挙型の定数リストは値を指定していない場合、自動的に新しい値が割り振られます。
列挙の最初の定数リストに値が指定されていない場合、最初の定数リストの値は0が割り当てられます。

値が指定されていない定数リストは、一つ前の定数リストの値に1加算した値が設定されます。
サンプルソース:

enum months_type{       // months_typeという列挙型を定義
    none,               // 最初の値が指定されていないので 0 が割り当てられる
    January,            // 一つ前の値が 0 なので、        1が割り当てられる
    February,
    March,
    April,
    May,
    June,
    July,
    August,
    September,
    October,
    November,
    December            //                                12が割り当てられる
};


    months_type temp_enum;  // months_type列挙型のtemp_enumを宣言

    temp_enum = December;   // temp_enumにmonths_type列挙型で定義したリストを代入

    Print( temp_enum );     // 12(定数リストのDecemberの値)を表示


    // エラー例
    temp_enum = 13;         // months_type列挙型で定義したリストの値以外を代入。コンパイルエラーになる。

サンプルソース:
enum intervals{       // intervalsという列挙型を定義
    month       =1,   //  1 を設定
    two_months,       //  2 が割り当てられる
    quarter,          //  3 が割り当てられる
    halfyear    =6,   //  6 を設定
    year        =12   // 12 を設定
};



名称の無い列挙型は宣言する事は出来ません。

管理人の勝手なコメント:
実際に試してみると、名称無しの列挙型を宣言してもコンパイルエラーになりませんでした。
また名称無しの列挙型の定義リスト名を使用してもコンパイルエラーにならず、
定義リストの値を参照する事が出来ました。
マニュアル上では名称無しの列挙型は使用出来ないと記載されているので、マニュアルに従いましょう。
スポンサーリンク



Copyright ©2015 MT4でEA自作しちゃお〜 All Rights Reserved.


Top

inserted by FC2 system