Ошибки, баги, вопросы - страница 2674
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Напомните, пожалуйста, существует ли изящный способ разрешения ошибки "ambiguous call to overloaded function", когда нужна отдельная обработка для простых типов и указателей, вроде такого:
Здесь компилятор считает, что (BaseFunctor *) тоже соответствует V. Можно явно указывать приведение типа при вызове метода, но это некрасиво. Если в шаблонной функции принимать параметр по ссылке, то нельзя будет передавать константы и прочие временные значения (требуется переменная).
попробуй добавить перегрузку со ссылкой
Имеется в виду перегрузка со ссылкой на объекты или ссылка на указатель (чего вроде не существует)? Я не в курсе, как в ссылку на объект подсунуть указатель на распределенный по new экземпляр.
У вас цикл не правильный для закрытия позиций. Сделайте обратный цикл.
У вас цикл не правильный для закрытия позиций. Сделайте обратный цикл.
Попробую, но разве не всё равно как перебирать, если мы ищем все профитные позы одного направления. Мы же в любом случае переберём всё и закроем нужные.
Имеется в виду перегрузка со ссылкой на объекты или ссылка на указатель (чего вроде не существует)? Я не в курсе, как в ссылку на объект подсунуть указатель на распределенный по new экземпляр.
со ссылкой на объекты.
у меня так:
со ссылкой на объекты.
у меня так:
Всё же не настолько прямолинейно, извиняйте ;-). Класс используется для наследования:
Если б можно было создавать BaseFunctor, он бы работал, да. Но это не тот случай.
Здравствуйте!
Спасибо за сообщение об ошибке!
Не могли бы вы подробнее описать проблему с картинкой?
На текущий момент проблемы нет
Код ниже выводит 牖漠摲牥湩潦〉〮र〲थ⸰〰㠉┰〉〮र
А должен вывести текст test
Файлы лежат в папке Files\\Test\\
Функция пишет что хендл верен он равен 1 и сразу GetLastError пишет ошибку 5008 Не верный хендл ....
Куда копать ?
Очень противный баг MT5(build 2316), блокирующий дальнейшую разработку.
Создаешь сложный несколько раз обернутый объект с внутренним типом "С", а там оказывается совсем другой тип данных, может "B", может "int", что хочешь...
Убил уйму времени и сил, что бы раскопать и понять, что проблема не в коде, а в работе MQL компилятора. (С++ online: https://onlinegdb.com/H1R1fR5ML)
Предположительно, проблема в работе кеша шаблонного класса "main_wrapper" при генерации кода во время компиляции, когда в качестве параметра передается internal class "internal_wrapper" от шаблонного класса "A" для различных типов данных (int, B*, B, C).
Какой первый тип данных будет создан шаблонным классом "main_wrapper<A<TEMPLATE_TYPE>::internal_wrapper>, такой тип данных и будет далее использоваться во всех объектах, данного шаблона в будущем.
Другой баг с генераций кода шаблонного класса будет предоставлен ниже.
Спасибо за сообщение, исправлено
Код ниже выводит 牖漠摲牥湩潦〉〮र〲थ⸰〰㠉┰〉〮र
А должен вывести текст test
Файлы лежат в папке Files\\Test\\
Функция пишет что хендл верен он равен 1 и сразу GetLastError пишет ошибку 5008 Не верный хендл ....
Куда копать ?
В какой кодировке файл?