跳至内容

Enumerations

枚举

枚举类型的数据属于特定有限的数据集合。定义枚举类型:

enum name of enumerable type
  {
   list of values
  };

值的列表是由逗号分隔的命名常量的标识符列表。

示例:

enum months  // enumeration of named constants
   {
    January,
    February,
    March,
    April,
    May,
    June,
    July,
    August,
    September,
    October,
    November,
    December
   };

在枚举被声明之后,会出现一个新的4字节整数值数据类型。新数据类型的声明允许编译器严格控制传递的参数类型,因为枚举引入了新的命名常量。在上面的示例中,名为“January”的常量值为0,“February”为1,“December”为11。

规则:如果某个值没有分配给枚举成员中的命名常量,则其新值将自动生成。如果是枚举的第一个成员,则将其赋值为0。对于所有后续的成员,其值将基于前序成员的值加1来计算。

示例:

enum intervals  // Enumeration of named constants
   {
    month=1,     // Interval of one month
    two_months,  // Two months
    quarter,     // Three months - quarter
    halfyear=6,  // Half a year
    year=12,     // Year - 12 months
   };

注意

  • 与C++不同,MQL4中枚举类型的内部表示大小始终为4字节。也就是说,sizeof(months)返回值为4。
  • 与C++不同,MQL4中不能声明匿名枚举。也就是说,必须在enum关键字之后指定唯一名称。

另请参阅

类型转换

最后更新于