Переинициализация переменной.
Мне нужно поменять тип переменной при определённой ситуации.
При таком написании new_par1 как бы пробразовывается в дабл, но потом при его использовании он все ровно string.
Это только через классы можно реализовать или макросы (хотя как через макросы я не знаю).
В mql4 можно как то?
Мне нужно поменять тип переменной при определённой ситуации.
При таком написании new_par1 как бы пробразовывается в дабл, но потом при его использовании он все ровно string.
При какой ситуации? Тип переменной окончательно известен во время компиляции?
#define STRING_TYPE // Если define есть, то тип строковой void OnStart() { #ifdef STRING_TYPE string new_par1 = ind1_parametr1; #else double new_par1 = ind1_parametr1; #endif }
Спасибо большое за отклик, но что то я не доганяю как это применить.
Мы же if применяем к STRING_TYPE, а не к string_(ind1_parametr1)
Через классы. Конечно можно. Есть хороший пример от Urain, Статья целая
Разработчики. А это как объяснить?
параметр "3"
string new_par1 = ind1_parametr1;if(!string_(ind1_parametr1)) {double new_par1=double(ind1_parametr1);Alert(new_par1);}Alert(new_par1);
Первый алерт выдаёт нормально(всмысле как надо) что тип double. Сразу за ним алерт выдаёт что string
void*new_par1;Может так сделаете чтобы можно было писать?
Мне нужно поменять тип переменной при определённой ситуации.
При таком написании new_par1 как бы пробразовывается в дабл, но потом при его использовании он все ровно string.