Переинициализация переменной.

 

Мне нужно поменять тип переменной при определённой ситуации.

При таком написании new_par1 как бы пробразовывается в дабл, но потом при его использовании он все ровно string. 

string new_par1=ind1_parametr1; if(!string_(ind1_parametr1)) double new_par1=double(ind1_parametr1); 
 
eevviill:

Мне нужно поменять тип переменной при определённой ситуации.

При таком написании new_par1 как бы пробразовывается в дабл, но потом при его использовании он все ровно string. 

Это только через классы можно реализовать или макросы (хотя как через макросы я не знаю).
 
Vinin:
Это только через классы можно реализовать или макросы (хотя как через макросы я не знаю).
В mql4 можно как то?
 
eevviill:
В mql4 можно как то?
Через классы. Конечно можно. Есть хороший пример от Urain, Статья целая
 
eevviill:

Мне нужно поменять тип переменной при определённой ситуации.

При таком написании new_par1 как бы пробразовывается в дабл, но потом при его использовании он все ровно string. 

При какой ситуации? Тип переменной окончательно известен во время компиляции?
 
Pavlick:
При какой ситуации? Тип переменной окончательно известен во время компиляции?
Ну да. Но мне надо чтобы в одном случае переменная была типа стринг, а в другом чтобы дабл.
 
#define STRING_TYPE         // Если define есть, то тип строковой

void OnStart()
{
#ifdef STRING_TYPE
    string new_par1 = ind1_parametr1;
#else
    double new_par1 = ind1_parametr1;
#endif
}
 
Pavlick:

Спасибо большое за отклик, но что то я не доганяю как это применить.

 

Мы же if применяем к  STRING_TYPE, а не к string_(ind1_parametr1)

 
Vinin:
Через классы. Конечно можно. Есть хороший пример от 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;
Может так сделаете чтобы можно было писать?
Причина обращения: