Начал только изучать mql5 c нуля, с mq4 не знаком. Не скажу что программирование для меня темный лес. Еще в универе с помощью Си решал задачи, но углубиться в ООП не успел. Так как материалов по mql5 почти нет(странно, почему?), начал с документации. В теме "Структуры и классы" не компилируется один пример. В строках
Начал только изучать mql5 c нуля, с mq4 не знаком. Не скажу что программирование для меня темный лес. Еще в универе с помощью Си решал задачи, но углубиться в ООП не успел. Так как материалов по mql5 почти нет(странно, почему?), начал с документации. В теме "Структуры и классы" не компилируется один пример. В строках
и
выдает ошибку. Это ошибка в документации или же я чего то недопонимаю?
Это пример из документации mql5. Вот ссылка на ту страницу. А ниже этот код.
//+------------------------------------------------------------------+//| Класс с конструктором по умолчанию |//+------------------------------------------------------------------+class CFoo
{
datetime m_call_time; // время последнего обращения к объектуpublic:
//--- конструктор с параметром, имеющем значение по умолчанию, не является конструктором по умолчанию
CFoo(constdatetime 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 |//+------------------------------------------------------------------+voidOnStart()
{
// 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_timePrint("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
}
Че, у всех такая фигня с кнопками окна "MQL-Storage Фиксация" происходит?
На Windows XP x32 точно так кнопок не видно, хотя само нажатие кнопки отрабатывают.
Напишу в сд
Думал сглазал кто-то мои кнопочки))
Так нормально...
А так - ошибка компиляции. А в чем разница?Человек зарегистрировался вчера.
За сутки успел прочитать более 5000 тем на форуме (наверное, по технологии В. В. Ленина - строками глотал. От корки до корки!)
Потом начал щемиться ко всем в друзья, естественно, никого не зная и ни с кем из них не общаясь.
Вопрос:
планируется какая-нибудь борьба с бунусхантерами? Или пусть будут?
Человек зарегистрировался вчера.
За сутки успел прочитать более 5000 тем на форуме (наверное, по технологии В. В. Ленина - строками глотал. От корки до корки!)
Потом начал щемиться ко всем в друзья, естественно, никого не зная и ни с кем из них не общаясь.
Вопрос:
планируется какая-нибудь борьба с бунусхантерами? Или пусть будут?
Добрый день!
Начал только изучать mql5 c нуля, с mq4 не знаком. Не скажу что программирование для меня темный лес. Еще в универе с помощью Си решал задачи, но углубиться в ООП не успел. Так как материалов по mql5 почти нет(странно, почему?), начал с документации. В теме "Структуры и классы" не компилируется один пример. В строках
и
CFoo foo41=foo1; // неявный вызов конструктора копированиявыдает ошибку. Это ошибка в документации или же я чего то недопонимаю?
Версия MetaEditor'а 5.00 Build 930.
Добрый день!
Начал только изучать mql5 c нуля, с mq4 не знаком. Не скажу что программирование для меня темный лес. Еще в универе с помощью Си решал задачи, но углубиться в ООП не успел. Так как материалов по mql5 почти нет(странно, почему?), начал с документации. В теме "Структуры и классы" не компилируется один пример. В строках
и
выдает ошибку. Это ошибка в документации или же я чего то недопонимаю?
Версия MetaEditor'а 5.00 Build 930.
Выложите, пожалуйста, весь Ваш код.
Это пример из документации mql5. Вот ссылка на ту страницу. А ниже этот код.
Похоже, что с обновлением ввели не только обязательное размещение статических членов-данных класса,
но и отменили неявный вызов параметрического конструктора.
Используйте явный вызов: