Ошибки, баги, вопросы - страница 3228
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот код:
Если (*) компилируется без ошибки, тогда вместо (1) можно было бы записать (2) - т.е. мы неявно обходим ограничение (1), поэтому С++ при компиляции (*) выдает ошибку
Вот код:
Если (*) компилируется без ошибки, тогда вместо (1) можно было бы записать (2) - т.е. мы неявно обходим ограничение (1), поэтому С++ при компиляции (*) выдает ошибку
Пока не вижу проблемы.
И пора бы уже добавить ошибку компилятора в следующем месте:
P.S. Или хотя бы warningПока не вижу проблемы.
Вы путаете явное и неявное преобразование. Вы явно преобразовали const к non const, а здесь неявное (помимо воли пользователя)
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
A100, 2022.08.22 18:49
const - это не украшение - в грамотных компиляторах const объекты помещают в защищенную (только для чтения) область памяти, т.е. вы даже явно (обойдя программные ограничения) не сможете его изменить
Грамотный компилятор поместит const объект в защищенную (только для чтения) память. Неявное преобразование будет пытаться его изменить, но не сможет - т.е. при выполнении будет трудноуловимая вычислительная ошибка. А явное преобразование указывает компилятору, что const объект не нужно помещать в защищенную память, поскольку он будет в дальнейшем изменен
Вы путаете явное и неявное преобразование. Вы явно преобразовали const к non const, а здесь неявное (помимо воли пользователя)
Неявные же по четким правилам должны происходить. Почему здесь это правило не прописано - не знаю. Вместо ошибки логично выдавать предупреждение и только.
В этом и заключается проблема:
Грамотный компилятор поместит const объект в защищенную (только для чтения) память. Неявное преобразование будет пытаться его изменить, но не сможет - т.е. при выполнении будет трудноуловимая вычислительная ошибка. А явное преобразование указывает компилятору, что const объект не нужно помещать в защищенную память, поскольку он будет в дальнейшем изменен
Странная логика, когда const-объект становится nonconst.
Поэтому и говорю, что все объекты являются nonconst. И только переменные (включая временные), что на них ссылаются, могут иметь свойство const.
Просмотр аргументов методов при нажатии Ctrl + Shift + Space сейчас в одну строку.
Это очень неудобно, когда параметров много. На небольших экранах строка такой всплывающей подсказки не умещается на экране.
Нужен многострочный вариант.
Разработчики МКЛ, прошу обратить внимание на существующую проблему https://www.mql5.com/ru/forum/430771
Оптимизация на локальном компютере, задействованы два символа.
Оказывается, что по второму символу истории недостаточно - начинается подкачка, но не дождавшись её окончания (предположительно) выдаются задания агентам, агенты не могут синхронизироваться.
Вместо того, что бы снова им дать историю, происходит по кругу попытка синхронизации, что приводит к остановке оптимизации.
Более детальные логи могу предоставить по требованию разработчикам.