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

pronych:

Че, у всех такая фигня с кнопками окна "MQL-Storage Фиксация"  происходит?

 

На Windows XP x32 точно так кнопок не видно, хотя само нажатие кнопки отрабатывают.
barabashkakvn:
На Windows XP x32 точно так кнопок не видно, хотя само нажатие кнопки отрабатывают.

Напишу  в сд

Думал сглазал кто-то мои кнопочки)) 

template<typename T>
T *f( T *t ) { return ( t ); }

Так нормально...

class A {
public:
template<typename T>
        T *f( T *t ) { return ( t ); } //ошибка: f - class type expected
};
А так - ошибка компиляции. А в чем разница?

Человек зарегистрировался вчера.

За сутки успел прочитать более 5000 тем на форуме (наверное, по технологии В. В. Ленина - строками глотал. От корки до корки!)

Потом начал щемиться ко всем в друзья, естественно, никого не зная и ни с кем из них не общаясь.

Вопрос:

планируется какая-нибудь борьба с бунусхантерами? Или пусть будут? 

Fleder:

Человек зарегистрировался вчера.

За сутки успел прочитать более 5000 тем на форуме (наверное, по технологии В. В. Ленина - строками глотал. От корки до корки!)

Потом начал щемиться ко всем в друзья, естественно, никого не зная и ни с кем из них не общаясь.

Вопрос:

планируется какая-нибудь борьба с бунусхантерами? Или пусть будут? 

Ага, и этот умник, что создал одноименную тему с этой . Пендаля ему за хитрожопость.
Хотелось-бы ответа от Администрации: "А какая посещаемость русскоязычного форума в сутки?".

Добрый день!

Начал только изучать mql5 c нуля, с mq4 не знаком. Не скажу что программирование для меня темный лес. Еще в универе с помощью Си решал задачи, но углубиться в ООП не успел. Так как материалов по mql5 почти нет(странно, почему?), начал с документации. В теме "Структуры и классы" не компилируется один пример. В строках 

   CFoo foo3=D'2009.09.09';      // неявный вызов параметрического конструктора

 и

CFoo foo41=foo1;              // неявный вызов конструктора копирования

 выдает ошибку. Это ошибка в документации или же я чего то недопонимаю?

Версия MetaEditor'а 5.00 Build 930. 

Tron_KZ:

Добрый день!

Начал только изучать mql5 c нуля, с mq4 не знаком. Не скажу что программирование для меня темный лес. Еще в универе с помощью Си решал задачи, но углубиться в ООП не успел. Так как материалов по mql5 почти нет(странно, почему?), начал с документации. В теме "Структуры и классы" не компилируется один пример. В строках 

 и

 выдает ошибку. Это ошибка в документации или же я чего то недопонимаю?

Версия MetaEditor'а 5.00 Build 930. 

Выложите, пожалуйста, весь Ваш код.
Fleder:
Выложите, пожалуйста, весь Ваш код.
Это пример из документации mql5. Вот ссылка на ту страницу. А ниже этот код.
//+------------------------------------------------------------------+
//| Класс с конструктором по умолчанию                               |
//+------------------------------------------------------------------+
class CFoo
  {
   datetime          m_call_time;     // время последнего обращения к объекту
public:
   //--- конструктор с параметром, имеющем значение по умолчанию, не является конструктором по умолчанию
                     CFoo(const datetime t=0){m_call_time=t;};
   //--- конструктор копирования 
                     CFoo(const CFoo &foo){m_call_time=foo.m_call_time;};
 
   string ToString(){return(TimeToString(m_call_time,TIME_DATE|TIME_SECONDS));};
  };
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
// CFoo foo; // такой вариант использовать нельзя - конструктор по умолчанию не задан
//--- допустимые варианты создания объекта CFoo
   CFoo foo1(TimeCurrent());     // явный вызов параметрического конструктора
   CFoo foo2();                  // явный вызов параметрического конструктора с параметром по умолчанию
   CFoo foo3=D'2009.09.09';      // неявный вызов параметрического конструктора
   CFoo foo40(foo1);             // явный вызов конструктора копирования
   CFoo foo41=foo1;              // неявный вызов конструктора копирования
   CFoo foo5;                    // явный вызов конструктора по умолчанию (если конструктор по умолчанию отсутствует,
                                 // то вызывается параметрический конструктор с параметром по умолчанию)
//--- допустимые варианты получения указателей CFoo
   CFoo *pfoo6=new CFoo();       // динамическое создание объекта и получение указателя на него
   CFoo *pfoo7=new CFoo(TimeCurrent());// ещё один вариант динамического создания объекта
   CFoo *pfoo8=GetPointer(foo1); // теперь pfoo8 указывает на объект foo1
   CFoo *pfoo9=pfoo7;            // pfoo9 и pfoo7 указывают на один и тот же объект
   // CFoo foo_array[3];         // такой вариант использовать нельзя - конструктор по умолчанию не задан
//--- выведем значения m_call_time
   Print("foo1.m_call_time=",foo1.ToString());
   Print("foo2.m_call_time=",foo2.ToString());
   Print("foo3.m_call_time=",foo3.ToString());
   Print("foo4.m_call_time=",foo4.ToString());
   Print("foo5.m_call_time=",foo5.ToString());
   Print("pfoo6.m_call_time=",pfoo6.ToString());
   Print("pfoo7.m_call_time=",pfoo7.ToString());
   Print("pfoo8.m_call_time=",pfoo8.ToString());
   Print("pfoo9.m_call_time=",pfoo9.ToString());
//--- удалим динамически созданные объекты
   delete pfoo6;
   delete pfoo7;
   //delete pfoo8;  // удалять pfoo8 явно не нужно, так как он указывает на автоматически созданный объект foo1
   //delete pfoo9;  // удалять pfoo9 явно не нужно, так как он указывает на тот же объект, что и pfoo7
  }
Tron_KZ:
Это пример из документации mql5. Вот ссылка на ту страницу. А ниже этот код.

Похоже, что с обновлением ввели не только обязательное размещение статических членов-данных класса,

но и отменили неявный вызов параметрического конструктора.

Используйте явный вызов:

   CFoo foo1(TimeCurrent());     // явный вызов параметрического конструктора
   CFoo foo2();                  // явный вызов параметрического конструктора с параметром по умолчанию
   CFoo foo3(D'2009.09.09');     // явный вызов параметрического конструктора
   CFoo foo4(foo1);              // явный вызов конструктора копирования
   CFoo foo5;                    // явный вызов конструктора по умолчанию (если конструктор по умолчанию отсутствует,
                                 // то вызывается параметрический конструктор с параметром по умолчанию)