Ошибки, баги, вопросы - страница 1962
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ошибка при компиляции
а если заменить строку (*) на
то нормально. А какая разница?Похоже на https://www.mql5.com/ru/forum/1111/page1977#comment_5595772, но отличается кодом ошибки
Ошибка при компиляции
а так:
нормально. А какая разница?Ошибка при компиляции
а так:
нормально. А какая разница?Разница огромная. Когда вызывается g(f), то компилятор понятия не имеет, какого типа f, т.к. прописан только template. Если перегрузить template, то не будет проблем
Время компиляции в 1643
Время компиляции в 1648
Что-то круто подкрутили!
У меня как было, так и осталось, компиляция не ускорилась
У меня как было, так и осталось, компиляция не ускорилась
Возможно, не используете то, что раньше тормозило в TesterBenchmark.mqh
Разница огромная. Когда вызывается g(f), то компилятор понятия не имеет, какого типа f, т.к. прописан только template. Если перегрузить template, то не будет проблем
Если разница огромная, то почему тогда в С++ нормально компилируются оба варианта?
Вот не авторитет совсем C++ в данном случае, т.к. основывал заключения на логике. Выше переделал пример с распринтовкой.
Стоит всего лишь сделать такую замену
Как распринтовываться будет совсем другое. Можно попросить, чтобы компилятор был "умнее дурака" и действовал, как в C++. Но это спорное решение на самом деле.
Т.е. такую "помощь" можно осуществить в компиляторе, но разницу в подходах показал.
нормально. А какая разница?
видимо при простой передаче для компилятора f не воспринимается как указатель на функцию.
видимо при простой передаче для компилятора f не воспринимается как указатель на функцию.
видимо при простой передаче для компилятора f не воспринимается как указатель на функцию.
И не должен, хотя бы из-за неоднозначности