forked from rosh/MQL5Book
57 lines
1.5 KiB
MQL5
57 lines
1.5 KiB
MQL5
//+------------------------------------------------------------------+
| |||
//| TypeUserEnum.mq5 |
| |||
//| Copyright 2021, MetaQuotes Ltd. |
| |||
//| https://www.mql5.com |
| |||
//+------------------------------------------------------------------+
| |||
| |||
#property copyright "Copyright 2021, MetaQuotes Ltd."
| |||
#property link "https://www.mql5.com"
| |||
#property version "1.00"
| |||
| |||
#define PRT(A) Print(#A, "=", (A))
| |||
| |||
const int zero = 0; // runtime value is not known at compile time
| |||
| |||
enum
| |||
{
| |||
MILLION = 1000000 // value known at compile time
| |||
};
| |||
| |||
enum RISK
| |||
{
| |||
// OFF = zero, // error: constant expression required
| |||
LOW = -1,
| |||
MODERATE = -2,
| |||
HIGH = -3,
| |||
};
| |||
| |||
enum INCOME
| |||
{
| |||
LOW = 1,
| |||
MODERATE = 2,
| |||
HIGH = 3,
| |||
ENORMOUS = MILLION,
| |||
};
| |||
| |||
//+------------------------------------------------------------------+
| |||
//| Script program start function |
| |||
//+------------------------------------------------------------------+
| |||
void OnStart()
| |||
{
| |||
enum INTERNAL
| |||
{
| |||
ON,
| |||
OFF,
| |||
};
| |||
| |||
//int x = LOW; // warning: ambiguous access, can be one of
| |||
int x = RISK::LOW;
| |||
int y = INCOME::LOW;
| |||
| |||
PRT(RISK::LOW);
| |||
PRT(INCOME::LOW);
| |||
PRT(OFF);
| |||
}
| |||
| |||
//int z = OFF; // error: 'OFF' - undeclared identifier
| |||
//+------------------------------------------------------------------+
|