Ошибки, баги, вопросы - страница 86

 
Interesting:
Думаю нет. Перегрузку стандартных функций лучше не на прямую, а через объявление их в классах...

" Думаю нет " это повидимому касается останется ли такая возможность в будущем,

потому как сейчас такая возможность имеется.

Почему итменно в классах, почему нельзя сделать инклюдник всех перегруженных стандартных функций и клеить его везде?

 
Urain:

О чудо, оказывается можно перегружать предопределённые функции.

или это такой баг ???


Можно, но будьте внимательны, чтобы потом не удивляться (когда забудете о перегрузке). Смотрите пример к Операция разрешения контекста ( :: )
 
Rosh:
Можно, но будьте внимательны, чтобы потом не удивляться (когда забудете о перегрузке). Смотрите пример к Операция разрешения контекста ( :: )

Спасибо, понял. Таким образом можно задать область видимости перегрузки и не переживать о её дальнейшей судьбе.

Но в данном случае думаю будет полезно именно вариант с инклюдником, тк  выбор позиции по ранее учтённому id довольно удобен.


зы Видимо Ева останется без мозгов тк их прийдётся отдать экспертописателям mql, а то они тут такого напрограмируют ... :о)

 
Urain:

зы Видимо Ева останется без мозгов тк их прийдётся отдать экспертописателям mql, а то они тут такого напрограмируют ... :о)

 
обнаружил такую вещь, может это и не ошибка и так задумано, пытаюсь записать число типа double в текстовый объект, такая конструкция записывает строку в виде 0.000000
ObjectSetString(0,"PIPSetEditBBdeviation",OBJPROP_TEXT,(string)BBdeviation);
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
  • www.mql5.com
Основы языка / Типы данных / Вещественные типы (double, float) - Документация по MQL5
 
лучше DoubleToString сразу, чтоб не попасть в будущем
 
sergeev:

лучше DoubleToString сразу, чтоб не попасть в будущем
это понятно, надо что бы и эта конструкция тоже работала как надо. обратное конвертирование кстати работает
 

Компилятор "молчит"  при проверке на равенство

void OnStart()
  {
    datetime Time=0;  
    
    if(Time=0) //???????? 
     {
       
     }
        
  }
 
Kos:

Компилятор "молчит"  при проверке на равенство


Ну  так, сначала выполняется присваивание Time=0, а потом проверяется, что это: истина или ложь. Что ему волноваться ?

 
Kos:

Компилятор "молчит"  при проверке на равенство


Стандартная ошибка многих, я сам бывает попадаюсь (в разных языках сравнение по разному реализуется)...

void OnStart()
{
datetime Time=0;  
    
  if(Time==0)
  {
  //Так правильно       
  }
        
}
Причина обращения: