Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
У тебя есть торговый сигнал? Опубликуй его и на своем блоге!
prostotrader
2776
prostotrader 2016.09.26 15:17 
Как узнать сколько записей в enum ?
o_o
Модератор
23690
o_o 2016.09.26 16:38  
prostotrader:
Как узнать сколько записей в enum ?
никак

https://www.mql5.com/ru/forum/1638

https://www.mql5.com/ru/forum/80276

prostotrader
2776
prostotrader 2016.09.26 17:11  
Alexey Volchanskiy
16615
Alexey Volchanskiy 2016.09.26 17:14  
prostotrader:
Как узнать сколько записей в enum ?

Надо всегда завершать перечисление элементом eEnd и не присваивать членам значения.

enum ETest {e0, e1, e2, e3, eEnd};

void OnStart()
{
    ETest et = ETest(eEnd);
    Print("Number of ETest members is: ", et+1); // 2016.09.26 18:12:22.581      TestEnum (EURUSD.e,M1)  Number of ETest members is: 5
}

 ***

o_o
Модератор
23690
o_o 2016.09.26 17:52  
Alexey Volchanskiy:

Надо всегда завершать перечисление элементом eEnd и не присваивать членам значения.

не универсально, но для своего кода подойдет
Alexey Volchanskiy
16615
Alexey Volchanskiy 2016.09.26 19:28  
o_O 2016.09.26 17:52      RU
Alexey Volchanskiy:

Надо всегда завершать перечисление элементом eEnd и не присваивать членам значения.

не универсально, но для своего кода подойдет

Само собой, не универсально и для своего кода. Под понятием не присваивать я имел в виду не делать так, может, неправильно назвал эту операцию

enum ETest {e0 = -12, e1=3, e2=45, e3=-1, eEnd=123};

void OnStart()
{
    ETest et = ETest(eEnd);
    Print("Number of ETest members is: ", et+1); 
}
prostotrader
2776
prostotrader 2016.09.27 23:15  
Alexey Volchanskiy:

Само собой, не универсально и для своего кода. Под понятием не присваивать я имел в виду не делать так, может, неправильно назвал эту операцию

С присваиванием значения получается

2016.09.28 00:14:22.158 WriteSymbols (RTS-12.16,M1)     Number of ETest members is: 123
Alexey Volchanskiy
16615
Alexey Volchanskiy 2016.09.27 23:37  
prostotrader:

С присваиванием значения получается

А вы что ожидали? eEnd=123

Смысл enum понимаете? 

prostotrader
2776
prostotrader 2016.09.27 23:44  
Alexey Volchanskiy:

А вы что ожидали? eEnd=123

Смысл enum понимаете? 

Вы писали?

enum ETest {e0 = -12, e1=3, e2=45, e3=-1, eEnd=123};

void OnStart()
{
    ETest et = ETest(eEnd);
    Print("Number of ETest members is: ", et+1); // 2016.09.26 18:12:22.581      TestEnum (EURUSD.e,M1)  Number of ETest members is: 5
Alexey Volchanskiy
16615
Alexey Volchanskiy 2016.09.27 23:47  
prostotrader:

Вы писали?

Опс, скопипастилось из предыдущего примера, спасибо, поправил
prostotrader
2776
prostotrader 2016.09.27 23:48  
Alexey Volchanskiy:
Опс, скопипастилось из предыдущего примера, спасибо, поправил
Что поправили?
/ /12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий