Ошибки, баги, вопросы - страница 1201
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ошибка в работе виртуальных функций
Результат: A::f(), а должен быть - B::f()
Помогите установить META TRADER 4 НА OS MAVERICKS, СКАЧАЛА ВСЕ ПРОГРАММЫ,PLAY ON MAC^ВСЕ НОВОЕ, А ВЫДАЕТ ОШИБКУ.КАТАСТРОФА КАКАЯ -ТО
/*модератор: прилжоите текст ошибки файлом*/
2 - до отладки.
3- после.
Может там есть отличия , я вообще ничего не понимаю)
Спасибо большое)
Ошибка компиляции
в то время как const не должен следить за static
Кроме того это мнимая защита, поскольку static модифицируется обычной функцией h() и A::f() const об этом даже не узнает
Ошибка в работе виртуальных функций
Результат: A::f(), а должен быть - B::f()
Ошибка компиляции
в то время как const не должен следить за static
Кроме того это мнимая защита, поскольку static модифицируется обычной функцией h() и A::f() const об этом даже не узнает
Ошибка компиляции 358 во всех случаях вызова h( A* a)
Обоснована только в (3) и (4), поскольку не h( const A* a)
Ранее была уже исправлена похожая ситуация https://www.mql5.com/ru/forum/1111/page1218#comment_1058402, но тут вероятна иная причина, поскольку на возникновение ошибки влияет наличие const в объявлении void f() const, а там не было функций-членов
В build 976 не компилируется (ошибка 358, но отличается от ранее описанных ранее тем, что в build 975 ошибок не возникало)
Возможно связано с тем, что в build 976 была исправлена ошибка связанная с тем, что обычная функция, вызванная из const метода класса могла модифицировать члены класса переданные ей по не const& ссылке. Но здесь членом класса является указатель, и его значение гарантированно не будет изменено при вызове h( A* a), а может быть лишь изменено при объявлении h( A* &a )В build 976 не компилируется (ошибка 358, но отличается от ранее описанных ранее тем, что в build 975 ошибок не возникало)
Возможно связано с тем, что в build 976 была исправлена ошибка связанная с тем, что обычная функция, вызванная из const метода класса могла модифицировать члены класса переданные ей по не const& ссылке. Но здесь членом класса является указатель, и его значение гарантированно не будет изменено при вызове h( A* a), а может быть лишь изменено при объявлении h( A* &a )