Ошибки, баги, вопросы - страница 2720
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Прошу рассмотреть возможность отключения ненужных для разработчика предупреждений компилятора:
Исходный код, прототип мультиразмерного массива (C++ online: https://onlinegdb.com/Hk7QjyRdL):
Всем добрый день!
Подскажите пожалуйста как вставить картинку в описание скрипта при оформлении и последующей публикации в CodeBase?
У меня есть только, почему то, вставка видео с Youtube..., а иконки вставки рисунка НЕТ! :(
Заранее Спасибо! :)
Всем добрый день!
Подскажите пожалуйста как вставить картинку в описание скрипта при оформлении и последующей публикации в CodeBase?
У меня есть только, почему то, вставка видео с Youtube..., а иконки вставки рисунка НЕТ! :(
Заранее Спасибо! :)
Кнопка вставки рисунка доступна пользователем начиная с некоторого минимального рейтинга. Очевидно у Вас недостаточен рейтинг для работы с кнопкой .
Кнопка вставки рисунка доступна пользователем начиная с некоторого минимального рейтинга. Очевидно у Вас недостаточен рейтинг для работы с кнопкой .
Спасибо за пояснения.
Печалька ...
P.S. Да, действительно, я первый раз выставлял скрипт на CodeBase.
Дефекты в работе кеша шаблонной функции/класса:
(исправлено MT5(build 2390)) *** (up) Undefined Behavior, создаешь сложный несколько раз обернутый объект с внутренним типом "С", а там оказывается совсем другой тип данных, может "B", может "int", что хочешь...
(исправлено MT5(build 2390)) * Compile Error, баг при передаче в качестве const ref template аргумента указателя на функцию.
(исправлено MT5(build 2390)) * Compile Error, объект B<int> можно создать после объекта класса B<void*>, но если сделать это перед, то возникает ошибка компиляции.
Дефекты в работе шаблонной функции/класса:
(исправлено MT5(build 2390)) ** (up) Compile Error, баг при попытке доступа к internal class для шаблонного параметра шаблонной функции.
(исправлено MT5(build 2390)) * (up) Compile Error, баг внутри шаблонной функции, переданный указатель в рамках операции явного приведения типа ведет себя как класс в остальных случаях - как указатель.
(не исправлено MT5(build 2390)) *** Compile Error, Основная претензия к неуместному выводу warning - "deprecated behavior, hidden method calling will be disabled in a future MQL compiler version". Текущая реализация - это стрельба с пушки по воробьям.
(не исправлено MT5(build 2390)) ** Compile Error, баг касается возвращаемого значения шаблонной функции, когда возвращаемое значение - internal class, расположенный внутри шаблонного класса, тип параметра которого задается типом аргумента шаблонной функции.
(не исправлено MT5(build 2390)) ** Compile Error, баг связанный с пространством имен и области видимости в шаблонном конструкторе при вызове базового класса, когда используется одно и то же имя класса при наследовании и в internal class.
(не исправлено MT5(build 2390)) * Compile Error, баг при вызове шаблонной функции с явным указанием типов аргументов, когда вызов выполняется из перегруженной нешаблонной функции.
(не исправлено MT5(build 2390)) Compile Error, баг при определении internal class - отсутствует возможность явно сослаться на глобальное пространство имен при указании базового класса.
(исправлено MT5(build 2390)) ** Compile Error, баг с генерацией кода шаблонного класса при использовании internal class.
(исправлено MT5(build 2390)) * Compile Error, баг при генерации шаблонного метода/класса, процесс "автозамены" шаблонного параметра выходит за пределы скоупа в основной код программы.
(исправлено MT5(build 2390)) * Compile Error, баг с отсутствием автоматической генерации кода шаблонного класса, когда шаблонный класс выступает в качестве return value для шаблонного метода.
(исправлено MT5(build 2390)) * Compile Error, баг при передаче internal struct в шаблонную функцию, полученный тип данных невозможно использовать как базовый тип данных для другой internal struct в шаблонном классе.
(исправлено MT5(build 2390)) * Compile Error, не выполняется проверка на наличие повторно использованных имен шаблонных типов при объявлении шаблонной функции внутри шаблонного класса, что приводит к неожидаемому поведению.
(исправлено MT5(build 2390)) Compile Error, множество дефектов связанных с return "in place created" object, когда объектом выступает шаблонный класс/структура.
(исправлено MT5(build 2368)) * (It's not a bug, it's a feature) в конструкторе базового класса невозможно выполнить explicit typecast по приведению указателя на объект базового класса к указателю на родительский класс.
(не исправлено MT5(build 2390)) (new) Compile Error, при использовании модификатора доступа по умолчанию при наследовании в шаблонном классе, когда шаблонный параметр выступает базовым классом.
(не исправлено MT5(build 2390)) * (new) Compile Error, при вызове оператора присвоения через явное указание базового класса. Проблема проявляется для шаблонного класса, у которого шаблонный параметр выступает базовым классом.
Дефекты связанные с несоответствием приоритетов вызовов перегруженных функций в MQL в сравнении с С++:
(исправлено MT5(build 2390)) ** (up) Compile Error, когда первая из перегруженных шаблонных функций использует полностью специализированный шаблонный базовый класс, а вторая - неспециализированный шаблонный базовый класс.
(не исправлено MT5(build 2390)) ** Compile Error, при генерации кода шаблонной функции возникает ошибка компиляции несмотря на то, что имеется перегруженная шаблонная функция с подходящей сигнатурой для передаваемых параметров.
(не исправлено MT5(build 2390)) * Compile Error, "ambiguous call to overloaded function" при вызове перегруженных шаблонных функций с разным количеством шаблонных параметров.
(исправлено MT5(build 2390)) ** (up) Compile Error, приоритет вызовов перегруженных шаблонных функций в действительности зависит от типа шаблонного параметра, который, в теории ни как не должен влиять на результат компиляции.
(исправлено MT5(build 2390)) *** Compile Error, когда есть наследование классов A <= B <= C <= D и реализованы две overloading функции, например одна c параметра А*, а вторая с B*, то передача в такую функцию объекта C* или D* в MQL вызывает ошибку компиляции.
(исправлено MT5(build 2390)) ** Runtime, несоответствие приоритетов для вызовов перегруженных шаблонных функций.
(исправлено MT5(build 2390)) *** Runtime, при выборе подходящей перегруженной функции для аргумента типа указатель более приоритетной становится функция с приведением типа в указатель на родительский класс вместо базового.
(не исправлено MT5(build 2390)) *** (new) Compile Error, ошибка в приоритетах вызова перегруженных шаблонных функций..
(не исправлено MT5(build 2390)) ** (new) Compile Error, при вызове функции для аргумента с типом данных color применяется implicit type conversation не смотря на то, что имеется подходящая по сигнатуре перегруженная шаблонная функция с типом данных color.
(не исправлено MT5(build 2390)) * (new) Compile Error, не смотря на явную специализацию при вызове перегруженной шаблонной функции все равно происходит вызов шаблонной функции по умолчанию, что приводит к переполнению стека..
(не исправлено MT5(build 2390)) * (new) Compile Error, ошибка компиляции при вызове функции через ее указатель, когда используется массив указателей на функцию.
Дефекты связанные с MetaEditor:
(не исправлено ME5(build 2390)) *** (new) Debuger, срабатывание точки останова в статическом методе структуры вызывает зависание МТ терминала.
(не исправлено ME5(build 2390)) ** (new) Compilation, описание ошибки компиляции не влазит в лимит 256 символов и обрезается, в результате невозможно понять для какого типа данных возникает ошибка, так как необходимая часть была обрезана.
(не исправлено ME5(build 2390)) ** (new) Debuger, не работает StepInto (F11) и установленные breakpoints.
(не исправлено ME5(build 2390)) * (new) Debuger, после срабатывания breakpoint вместо продолжения выполнения кода при нажатии (F5), в действительности повторно срабатывает тот же breakpoint без выполнения какого-либо кода.
(не исправлено ME5(build 2390)) * (new) Compilation, некорректная сигнатура шаблонного параметра функции в Error Description и Parameter info.
(не исправлено ME5(build 2390)) * (new) MetaEditor, не работает функциональность Replace (Сtrl + H) для включенного "In selection" вместе с "Backward direction", когда выделен необходимый участок применения, а не весь код.
Дефекты связанные с медленным выполнением функций, работой оптимизатора кода:
(исправлено MT5(build 2390)) ** (up) Runtime, большой overhead при добавлении по одному элементу в массив с помощью ArrayResize, не смотря на то, что память для них была заранее зарезервирована, например для структур аж до 7-ми раз медленнее.
Предложения:
(new) - добавить в ME поиск/замену по текущему Project, а то при рефакторинге ходить по каждому из файлов и искать вхождение как-то не очень.
ссылка (new) - в ME при компиляции заполнять пустые колонки File, Line, Column соответствующей информацией о файле источнике, из которого делался include.
ссылка - о внедрении поддержки intellisense для функциональности namespace на основе работы intellisense для статических методов в классах.
ссылка - о предоставлении возможности передавать литералы и временные переменные в виде const ref аргументов функции.
ссылка - при перемещении файлов проекта во вкладке "Project", для перемещаемых файлов, которые открыты и находятся во вкладках ME, автоматически обновлять их путь расположения.
ссылка - о необходимости введения в MQL typedef declaration функциональности.
ссылка - о предоставлении возможности принудительной генерации дефолтных конструкторов копирования и операторов присвоения.
Простой пример. Нужно иметь массив МАшек с заданными периодами.
Каждая МАшка - объект одного типа. Понятно, МАшка однозначно задается периодом. Поэтому логично его сделать const.
ЗЫ В других языках делают просто массив указателей. В MQL такой свободы нет.
Нелогично. Если Вы не собираетесь её изменять, это ещё не значит, что нужно делать const. Достаточно сделать переменную закрытой.
Было бы логично, если бы Вы благодаря этому что-то получили. Но Вы только создали себе проблему.Вы знаете как устроен оптимизатор и компилятор MQL?
Откуда такая уверенность, что const поля простых типов не используется для этих целей?
Оптимизатор тут вообще не при чём.