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

 
Ошибка при компиляции:
class T {};                          //(1)
template<typename T> void f( T* ) {} //(2) Error: 'T' - identifier already used
А если поменять местами:
template<typename T> void f( T* ) {} //(2)
class T {};                          //(1)

то нормально. А какая принципиальная разница?

 
Привет всем! Я недавно стала тренироваться на демо-счёте. Сегодня я открыла: Справка - MQL5веб-терминал. После этого торговая платформа перестала загружаться. А когда загрузилась, оказалось, что мой демо-счёт снесён бесследно со всеми техническими анализами, которые я там тренировала. Надо заводить новый счёт. Почему это случилось? Случается ли подобное с настоящими счетами? 
 
mktr8591 #:

в b3095 запускаю скрипт:

Если убрать перегрузку f1(T* & Ptr), то все 5 вызовов возвращают void f1<const X>(const X*const).

Это какая-то особенность?

Хотел это противоречие в 3 строчки записать, но сразу не получилось

 

Хочу уточнить вопрос. Меня больше всего интересует, почему в этих 2х строках выбирается шаблон (T* const)?

Ведь должен сработать шаблон (T* &)?

   f1<const X>((const X*) Ptr);           //void func_902::f1<const X>(const X*const)

   f1<const X>((X*)Ptr);                  //void func_902::f1<const X>(const X*const)
 


Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

mktr8591, 2021.11.03 15:43

в b3095 запускаю скрипт:

template <typename T>
void f1(T* const Ptr) {Print(__FUNCSIG__);}

template <typename T>
void f1(T* & Ptr) {Print(__FUNCSIG__);}


class X {};

void OnStart()
  {
//---
   const X* Ptr = new X;
   
   f1(Ptr);                               //void f1<const X>(const X*&)
   f1<const X>(Ptr);                      //void f1<const X>(const X*&)
   
   //дальше непонятно!
   f1<const X>((const X*) Ptr);           //void func_902::f1<const X>(const X*const)
   f1<const X>((const X* const) Ptr);     //void func_902::f1<const X>(const X*const)
   f1<const X>((X*)Ptr);                  //void func_902::f1<const X>(const X*const)
 
   delete Ptr;
  }

Если убрать перегрузку f1(T* & Ptr), то все 5 вызовов возвращают void f1<const X>(const X*const).

Это какая-то особенность?


 
A100 #:

Хотел это противоречие в 3 строчки записать, но сразу не получилось

Не совсем понял...

 
mktr8591 #:

Не совсем понял...

В процессе изучения Вашего вопроса еще один (не связанный с ним) баг обнаружился

 
A100 #:

В процессе изучения Вашего вопроса еще один (не связанный с ним) баг обнаружился


А, ясно... спасибо.

 

Всем хорошего времени суток !

Установил МТ5, подключился к брокеру (демо счоту), но мне не показывает не одного графика!

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

 
Leonidpripa Pripa #:

Всем хорошего времени суток !

Установил МТ5, подключился к брокеру (демо счоту), но мне не показывает не одного графика!

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

Какой символ выбран на графике? Какие символы  есть в окне "Обзор Рынка" (Ctrl-M)?
 

Для граф. объектов, установленных вручную: 

1. По какому принципу присваиваются имена объектам?

2. По какому принципу присваиваются имена объектам, полученным копированием с зажатым Ctrl?

вот такой код:

int    objTotal = ObjectsTotal (0, -1, OBJ_TREND);
string objName = ""; 
for (int i = 0; i < objTotal; i++)
{
  objName = ObjectName (0, i, -1, -1);
  Print (objName, ": ",  (datetime)ObjectGetInteger(0, objName, OBJPROP_CREATETIME));
}

возвращает нелогичные результаты:

2021.11.09 22:49:25.633 *** Daily Trendline 11478: 2021.11.09 22:49:14

2021.11.09 22:49:25.633 *** Daily Trendline 40235: 2021.11.09 22:49:16

2021.11.09 22:49:25.634 *** Daily Trendline 47128: 2021.11.09 22:49:12

2021.11.09 22:49:25.636 *** Daily Trendline 64191: 2021.11.09 22:49:18

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